Spring  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
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
jgbt
GUJ Master
[Avatar]

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
[Email]
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...)
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 !!

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...)
fabiofalci
GUJ Master
[Avatar]

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.


[WWW] [MSN] [ICQ]
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 ?



rodrigo_gomes
GUJ Master
[Avatar]

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
[WWW] [MSN] [ICQ]
rodrigo_corinthians
JavaEvangelist
[Avatar]
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.
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 ?
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team