_De an.perez83 le 15 avril 2010 06:54:44_
Salut à tous,
selon le JavaDoc de com.google.inject.Injector tous les injecteurs sont censés avoir une liaison
de Injector.class à eux-mêmes. Néanmoins, l'injecteur enfant semble injecter son injecteur racine
plutôt qu'elle-même. J'ai joint un court exemple de code.
Je suppose que la documentation ou l'implémentation est défectueuse.
Acclamations
Pièce jointe : essentiel
_ enfant_injectant_parent.txt _
_Problème d'origine : http://code.google.com/p/google-guice/issues/detail?id=472_
_De an.perez83 le 15 avril 2010 04:04:34_
Très bien, j'ai trouvé une solution de contournement : il faut lier la classe dans laquelle l'injecteur enfant va être
injecté explicitement dans les fixations de l'injecteur enfant. Pour mon exemple précédent, cela signifierait quelque chose comme
ceci : bind(A.class);
Néanmoins, je considère le comportement actuel comme un bogue.
_De sberlin le 15 avril 2010 05:53:51_
En effet, si la liaison n'existe pas dans le module de l'injecteur enfant, Guice
le créera en tant que liaison "juste à temps", et les liaisons JIT sont créées dans le
modules parents (pour diverses raisons).
_De sberlin le 25 avril 2010 15:17:14_
(Aucun commentaire n'a été saisi pour ce changement.)
Statut : non valide
Commentaire le plus utile
_De an.perez83 le 15 avril 2010 04:04:34_
Très bien, j'ai trouvé une solution de contournement : il faut lier la classe dans laquelle l'injecteur enfant va être
injecté explicitement dans les fixations de l'injecteur enfant. Pour mon exemple précédent, cela signifierait quelque chose comme
ceci : bind(A.class);
Néanmoins, je considère le comportement actuel comme un bogue.