| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 09:54:57
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Estou tentando implementar meu dominio + DAO com Spring e estou com duvida em relação a "injeção"
do DAO.
Eu tenho meu objeto de dominio, meu repositorio é uma interface e esta interface é implementada pelo
DAO.
Criei o bean no ApplicationContext-hibernate.xml
Minha duvida é: Como injetar este cara no Objeto de dominio ?
Devo criar um bean instanciando o objeto de dominio ?
e criar um listener no web.xml ("org.springframework.web.context.ContextLoaderListener") ?
ou eu crio um DAOFactory, com ApplicationContext injetado, inicializando os Beans e atribuindo nos
objetos de dominio ?
Não estrou encontrando um jetio simples (se é que existe) de fazer isso.
Será que é isso : http://www.ibm.com/developerworks/java/library/j-aopwork13.html
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 10:13:42
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
sim, não existe magica. se vc quiser que seu Dao seja injetado em uma outra classe(service por exemplo), vc deve declara-la no applicationContext e definir a property e a classe que vai ser injetada.
eu particularmente uso o auto wiew byName, o que reduz o numero de configurações no applicationContext.
de uma lida na documentação que vc vai entender.
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 10:14:34
|
mauriciorocha665
JavaBaby
Membro desde: 22/08/2007 13:38:16
Mensagens: 80
Offline
|
q troço maluco tu fez ali hehe.
a injeção deve ser feita desta forma:
Mas recomendo utilizar autowire by name pq é mto + pratico.
|
Mauricio Souto da Rocha
-------------------------------------------
SCJP 1.4 (83%)
SCWCD 1.5 (84%)
SCBCD (77%)
SCEA (em breve...) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 10:22:18
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Vlw ae !!
To viajando nisso !
Vou parar tudo e estudar mais...
Mas podem ter certeza.... + coisas malucas irão aparecer por aqui !!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 10:26:31
|
mauriciorocha665
JavaBaby
Membro desde: 22/08/2007 13:38:16
Mensagens: 80
Offline
|
Kra, procura o livro Spring in Action na internet. Tu vai achar de barbada. Esse livro explica tudo sobre como funciona o Spring. Se tu trabalha direto com Spring é interessante ler todo ele.
Também tem que definir o listener lah no web.xml.
[]'s
|
Mauricio Souto da Rocha
-------------------------------------------
SCJP 1.4 (83%)
SCWCD 1.5 (84%)
SCBCD (77%)
SCEA (em breve...) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 13:13:00
|
fabiofalci
GUJ Master
![[Avatar]](/images/avatar/c359889a833e7612e0cff1dc69d272bc.png)
Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline
|
Mauricio, o negócio maluco ali é válido, na verdade essas duas declarações tem o mesmo efeito.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 14:17:55
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Pessoal...
Preciso de uma luz antes de me aprofundar no assunto.....
bom..minha arquitetura basica é a seguinte
tenho meu dominio
Ex.:
dominio = Corte(C)+CorteRepository(I)
e minha infra de BD = CorteDAO, este injetado no dominio.
C = Classe
I = Interface
Bom la vai, tomara que eu não complique + ...hehehehhe
Como eu instancio meu objeto de dominio (Corte)?
Atraves do geBean do ApplicationContext ? sendo assim eu não poderia dar um new nesse cara, ne ? Porque ae o DAO não seria injetado, certo ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 14:33:02
|
rodrigo_gomes
GUJ Master
![[Avatar]](/images/avatar/d30960ce77e83d896503d43ba249caf7.jpg)
Membro desde: 25/11/2003 15:45:21
Mensagens: 1088
Localização: São Paulo
Offline
|
Olá,
Onde vc vai usar seu objeto de dominio? vc deve injeta-lo na classe que vc vai usar.
Se for uma action de algum framework web, por exemplo, vc cria a action no spring (se o spring oferecer suporte a tal framework) e injeta seu objeto de dominio na action. Senão for assim, vc vai ter que pegar com o getBean do application context.
[]´s
Rodrigo
|
rodrigo de paiva gomes
http://twitter.com/rod_gomes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 15:11:24
|
rodrigo_corinthians
JavaEvangelist
Membro desde: 07/06/2005 12:01:01
Mensagens: 316
Offline
|
Se tiver usando Struts 2 tem um plugin que faz injeção automática no estilo autowire byName.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 16:14:44
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Pessoal
Estou usando JSF....
Mas imaginem o seguinte caso
Minha classe Transacao possui uma referencia da classe Corte.
Nesse caso eu injetaria Corte na Transacao ? Precisaria de uma interface para isso ?
|
|
|
 |
|
|