logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Injeção de Dependências nos DAOs de Entidades do Framework

Colocado por DClick Team na(s) categoria(s): 1, 2.0, 4, 6, AR, arte, auto, BI, C#, class, err, exemplo, for, framework, git, Google, Hibernate, ide, IE, if, Java, Number, O, on, override, padrão, procura, Ria’s Geral, S+S, Sem categoria, Spring, string, Sun, super(), TAT, Teste, Twitter, UI em 12 15th, 2011 | Sem comentários

Twitter!

A última implementação da HibernateDAOFactory do módulo persist do DCF, agora permite que seus DAOs de entidade possuam propriedades injetadas diretamente do container de beans do Spring.

No exemplo que temos nos testes de projeto, temos o MockDAO, que possui uma propriedade String com nome ‘testeString’:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MockDAO extends HibernateEntityDAO

private String testeString;

public MockDAO(SessionFactory sessionFactory)
super(MockEntity.class, sessionFactory);

@Override
protected Order getOrderForList()
return Order.asc(“number”);

public String getTesteString()
return testeString;

@Autowired
@Qualifier(“testeString”)
public void setTesteString(String testeString)
this.testeString = testeString;

}

Note que no setter da propriedade, colocamos a anotação @Autowired, para recuperar esta String do container, e também associamos o Qualifier ‘testeString’.

No arquivo de beans do spring, basta adicionarmos um bean String com o id igual ao do qualifier:

1
2
3
class=“java.lang.String” id=“testeString”>
-arg value=“stringTeste” />
>

Repare que o valor da String é ‘stringTeste’. Vamos ver em nosso teste agora se tal valor chega corretamente no DAO:

1
2
3
4
5
6
7
8
9
10
@Test
public void testRightFactory()
MockDAO dao = this.getDaoFactory().getDAO(MockEntity.class);
Assert.assertNotNull(dao);

Assert.assertEquals(this.getDaoFactory(), dao.getDaoFactory());

Assert.assertNotNull(dao.getTesteString());
Assert.assertEquals(“stringTeste”, dao.getTesteString());

Uma coisa importante a se perceber, é que a chamada da DAOFactory permanece exatamente a mesma, mantendo assim a retro-compatibilidade com as outras versões, e apenas as injeções baseadas em anotações do Spring vão ser consideradas.
NÃO é necessário apontar o component-scan do Spring para o pacote de DAOs de sua aplicação. A injeção de beans adicionais é feita completamente a parte, seguindo o mesmo padrão de nome e de instanciação dos DAOs.

Qualquer dúvida, basta me procurar.

O projeto está no github, dentro do módulo persist do dclick-framework, ou diretamente no nexus da DClick.



Veja o post original no blog do autor aqui!  

DClick Team

Escrito por DClick Team @ http://blog.dclick.com.br/pt/
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Adobe Max 2010 Podcast – Parte 1
» Problema de foco com Flash/Flex no Firefox
» Dynamic Sounds no Flash Player 10 - Excelentes Exemplos

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com