Lorsque vous utilisez Dagger, je trouve que je reçois plusieurs instances d'un singleton quand je l'injectent partout où je besoin. J'ai annoté la classe et la méthode provides avec @Singleton
. Quelqu'un peut-il penser à pourquoi cela se passe-t-il?singletons dans 1.x Dagger
Edit:
Si elle aide, j'ai suivi la même structure pour mon application comme l'exemple d'application dans GitHub Dague (https://github.com/square/dagger/tree/master/examples/android-activity-graphs). J'essaie d'obtenir le Singleton dans l'activité de base et un couple de classes de tiers fournis en utilisant @Provides
à la classe personnalisée Application
. Est-ce parce que je suis en train d'ajouter des modules à chaque activité au graphe d'objet original?
(PS: Je suis nouveau à Dagger et DI en général, donc je serai reconnaissant si vous pouviez fournir une explication pour que je puisse apprendre Merci..)
Merci pour le nettoyage cela. Quand vous dites spec, faites-vous référence à JSR330? – Raghuveer
Oui. Désolé - Je vais modifier la réponse. –
@ChristianGruber Comment cela s'applique-t-il aux Constructeurs injectés Singleton utilisés dans divers sous-graphes d'un graphique parent? Est-ce que cela signifie un par graphique dans lequel la classe est utilisée, sauf si elle existe déjà dans un graphique parent? – vinc3m1