Olá amigos do forum.
Estou com uma idéia tresloucada de desenvolver uma funcionalidade que as vezes sinto falta no Spring.
Assim que eu puder quero submeter isso à lista de discussão do framework, e se acharem que é uma boa, fazer um fork e tentar desenvolver a bagaça.
Como temos aqui no fórum uma boa galera que manja muito de Spring achei que era bom algumas opiniões antes de qualquer aventura. :lol:
Minha idéia é implementar suporte à injeção dinâmica no Spring, semelhante ao modo como funciona o Jboss Seam.
Um exemplo:
Tenho um bean X de escopo Singleton, e nesse bean tenho uma dependência Y, de escopo Prototype.
No momento em que eu requisitar o bean X ao Spring, ele irá criar o bean e injetar a dependencia Y. Ok.
No segundo momento em que eu requisitar esse bean X, a dependência Y NÃO será criada novamente, pois o Spring só injeta as dependências no momento da criação do bean, e sendo um bean
Singleton, isso só ocorrerá uma vez. O que eu queria era que, sempre que eu requisitasse esse bean X, as dependências de escopo Prototype fossem novamente instanciadas e injetadas.
O Jboss Seam chama isso de “injeção dinâmica” e particularmente vejo valor nessa abordagem.
O mesmo “problema” ocorreria em um contexto de app web, onde eu tivesse um bean de sessão e dentro dele um bean de escopo request. Essa dependencia só seria criada uma única vez.
A maneira pela qual hoje eu faço isso, e é o modo recomendado na documentação, é usar lookup methods. Não gosto muito dessa abordagem e só a utilizo em último caso. Normalmente acabo passando tudo pra Prototype mesmo, e as vezes nao é o que eu gostaria.
Voces acham que essa feature seria de fato útil?
Obrigado amigos.
ps: por favor, me corrijam se estiver falando bobagem.