Injeção esperta do spring

Ola pessoal bem aventurado do guj,

eu tenho um WebService no qual utilizo o spring para
injeção dos meus DAOS

ta tudo bunitinho, sem problemas.

Mais como sou maniacotimizador de código, gostaria de informar ao
spring qual DAO carregar para um método especifico.

O problema é: ele carrega todos os DAOS da minha classe service (uns 15)
sendo que cada método utiliza apenas 1 DAO.

Alguem sabe como fazer isso de forma elegante?
sem ter que dar getBean no context?

Algo como uma magic annotation em cima do meu método ou dao…

Ou até mesmo uma configuração no applicationContext.xml

gosto de economizar memoria nas minhas apps… :stuck_out_tongue:

Você pode modularizar o seu serviço.

Pelo que você disse, você deve ter todo tipo de DAO nesse seu webservice.

Você pode criar varios sub serviços pela natureza dos dados.

Por exemplo, desenvolvi a algum tempo um sistema para controle de tarefas recorrentes auditados. Eu tinha dados como: tarefas, recorrencia de tarefas, classes de tarefas, historico, prioridades, etc.
Então voce pode imaginas meus daos:
DefinicaoTarefaDAO, ClasseDAO, HistoricoDAO, RecorrenciaDAO …

Para cada DAO eu fiz um pseudo-serviço, uma camada simples para encapsular rotinas simples como validação, criação de objetos auxilizares, tratamento de exceptions.
Existem até alguns metodos bem bobos que ao invocar-lo simplesmente faziam chamadas no dao e retornavam.

E por fim juntei todos esses pseudo-serviços a um grande serviço de controle de tarefas.

Ah sim,

Tudo utilizando Spring 3 com annotations

Oi mikhas,
vlw pela resposta cara,
mais se eu fazer varios serviços diferentes
terei o mesmo problema no WS…a classe do Webservice…
tb uso o spring para injetar o service que uso…
o projeto é para ser apenas 1 WS com varios metodos de consulta
cada tabela tem seu DAO de consulta, padrão da empresa,
portando quanto a isso não posso mudar…

alguem mais?

O keller!
da uma mão ai rapaz!!!
só porque ta nos estrangeiro não ajuda mais os brazucas?!?!?
:slight_smile:
sera que o pessoal da Caelum tem algo desse tipo pro vRaptor?
e o cara do mentaway?!!?
Falar nisso…Keller…tu me disse que o vRaptor ninguem usava,
e tem uma empresa aqui em NH que só usa isso

Já tentou fazer as injeções de dependencia via aspects? Dependendo do método chamado, você verifica e injeta o DAO certo.

Isso terminaria num getBean() na unha?

explique melhor :slight_smile:

Não conheço aspects, mas acho que seria interessante você aprender a usar spring annotations, que é mamão com açucar comparado a configurar com XML.

Então…procurei por essa magic annotation
mais não achei ela,
Eu prefiro continuar no xml, porque posso assim alterar o comportamento
do spring sem ter que recompilar o projeto.
Eu acho que eu devo estar viajando, pois isso TEM que existir
numa ferramenta tão calejada como o Spring…
Estou começando a pensar que o jeito é partir para o getBean() manual
:-(, que tristeza…