_De an.perez83 em 15 de abril de 2010 06:54:44_
Olá a todos,
de acordo com o JavaDoc de com.google.inject.Injector todos os injetores devem ter uma ligação
de Injector.class para eles mesmos. No entanto, o injetor filho parece injetar seu injetor raiz
em vez de si mesmo. Anexei um pequeno código de exemplo.
Eu acho que a documentação ou a implementação está com defeito.
Felicidades
Anexo: essência
_ child_injecting_parent.txt _
_Problema original: http://code.google.com/p/google-guice/issues/detail?id=472_
_De an.perez83 em 15 de abril de 2010 04:04:34_
Tudo bem, eu descobri uma solução alternativa: é preciso vincular a classe na qual o injetor filho será
injetado explicitamente nas ligações do injetor filho. Para o meu exemplo anterior, isso significaria algo como
isto: bind(A.class);
No entanto, considero o comportamento atual um bug.
_De sberlin em 15 de abril de 2010 05:53:51_
Isso ocorre porque se a ligação não existir no módulo do injetor filho, Guice
irá criá-lo como uma ligação "just in time", e as ligações JIT são criadas no
módulos pai (por vários motivos).
_De sberlin em 25 de abril de 2010 15:17:14_
(Nenhum comentário foi inserido para esta alteração.)
Estado: inválido
Comentários muito úteis
_De an.perez83 em 15 de abril de 2010 04:04:34_
Tudo bem, eu descobri uma solução alternativa: é preciso vincular a classe na qual o injetor filho será
injetado explicitamente nas ligações do injetor filho. Para o meu exemplo anterior, isso significaria algo como
isto: bind(A.class);
No entanto, considero o comportamento atual um bug.