При использовании кинжала я обнаружил, что получаю несколько экземпляров синглтона, когда я его ввожу туда, где мне это нужно. Я аннотировал класс и метод предоставления с помощью @Singleton
. Может ли кто-нибудь подумать, почему это происходит?Singletons in Dagger 1.x
Edit:
Если это поможет, я следовал ту же структуру для моего приложения в качестве примера приложения в GitHub кинжала (https://github.com/square/dagger/tree/master/examples/android-activity-graphs). Я пытаюсь получить Singleton в базовой деятельности и пару сторонних классов, предоставляемых с использованием @Provides
в обычном классе Application
. Это потому, что я плюю в модулях при каждом действии на исходный граф объектов?
(PS: Я новичок в Dagger и DI в целом, так что я буду признателен, если вы могли бы дать объяснение, чтобы я мог узнать спасибо.).
Спасибо за освобождение. Когда вы говорите spec, вы имеете в виду JSR330? – Raghuveer
Да. Извините, я отредактирую ответ. –
@ChristianGruber Как это применимо к инъецированным Singleton конструкторам, используемым в разных подграфах родительского графа? Означает ли это один грамм, в котором используется класс, за исключением случаев, когда он уже существует в родительском графе? – vinc3m1