| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2010 17:39:24
|
serathiuk
JavaTeenager
![[Avatar]](/images/avatar/aee5620fa0432e528275b8668581d9a8.jpg)
Membro desde: 01/08/2006 15:20:07
Mensagens: 159
Localização: Curitiba / PR
Offline
|
Olá. Quero uma opinião do povo do GUJ. Comecei a pouco tempo estudar Spring, mas me veio umas dúvidas. Estou estudando a partir da documentação e a partir de alguns exemplos espalhados por aí. Fiz um exemplo aqui bem básico. Um DAO de Usuário com básico para um CRUD(salvar, alterar, remover e listar). Criei uma interface UsuarioDAO e uma implementação dessa interface(UsuarioJpaDAO). Essa classe, a UsuarioJpaDAO recebe pelo construtor o EntityManager. Está funcionando perfeitamente tudo, mas minha dúvida é em relação ao BeanFactory e a arquitetura que estou utilizando. Atualmente para criar uma instância do meu UsuarioDAO eu faço o seguinte:
Aí ele cria uma instância do UsuarioJpaDAO numa boa, está funcionando perfeitamente. Mas o problema é. Acho que ficar espalhando a linha "BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");" por todo o código é tosco. Então pensei que posso criar uma Factory para ele e daí o código ficaria desta maneira por exemplo:
Porém. Aí me vem outro possível problema. Me falaram(não sei se a pessoa estava certa) que uma das vantagens em utilizar o Spring era me livrar do "DAOFactory". Mas eu pensei que nesse caso eu poderia ter uma DAOFactory e reduzir o código ainda mais e não seria uma vantagem "me livrar dele":
Daí o DAOFactory ficaria algo como:
Mas usando o Spring somente para isso, não vi uma vantagem tão clara em cima de utilizar somente DAOFactory em Spring. Acredito que a vantagem nesse caso seria em relação em ter o Spring fazendo o controle Transacional e outras coisas mais.
Mas então. Falando tudo isso quero perguntar. Vocês acham que a forma que eu estou trabalhando com o Spring no meu exemplo(utilizando uma DAOFactory) é a melhor forma de trabalhar com ele mesmo? Existem outras formas melhores de trabalhar com o Spring? Sei que isso que postei é o básico do básico, mas quero saber desde já como a maioria das pessoas trabalham com ele. Se alguém puder analisar meu exemplo e meu dizer se o caminho que estou seguindo é o mais correto eu agradeço.
|
Ricardo Serathiuk
Twitter: http://www.twitter.com/serathiuk/
Blog: http://www.serathiuk.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2010 20:58:49
|
bobsiqueira
JavaBaby
Membro desde: 02/06/2006 16:24:15
Mensagens: 82
Offline
|
estude sobre a injecao de dependecia do Spring... com certeza vai facilitar usa vida.. e nao tera que fazer esse esquema que voce esta fazendo para criar referencias.. eh so anotar e pronto. voce tera uma instancia para seu objeto..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/02/2010 16:51:17
|
thiagoks
Thread.start()
Membro desde: 14/02/2008 20:41:25
Mensagens: 38
Offline
|
É verdade, o esquema é usar o container do Spring pra ele fazer as injeções.
Aí vc usa o Spring para injetar o seu DAO no Service. Essa injeção pode ser feita através de xml ou annotations, fica a sua escolha.
Dessa maneira vc deve ficar com a sua aplicação dependendo do contexto do Spring em somente um lugar (Onde vc estiver fazendo o bootstraping).
|
|
|
 |
|
|