Приносим извинения за то, что вы можете предоставить только псевдокод. Я использую Dagger 2 в одном из моего андроида проекта и у меня возникли некоторые проблемы, когда прикован зависимости, например, «А как B и B имеет C», как в следующем:Вставка кинжала 2 по цепным зависимостям
class A {
@Inject B b;
void bootstrap() {
componentA.inject(this);
}
}
class B {
@Inject C c;
}
Модуль и компонент я должен выглядеть следующим образом:
moduleA {
provides B;
provides C;
}
componentA {
void inject(A);
}
Однако при запуске приложения, C не впрыскивается, таким образом, дал мне исключения нулевого указателя при ссылке.
Мой вопрос: Почему C не вводится?
Я попытался иметь загрузочный метод в B и явно инъекционного Componenta к В, как следующее:
class B {
@Inject C c;
void bootstrap() {
componentA.inject(this);
}
}
Он работал, но он не чувствует себя хорошо для меня, как я ожидал кинжал 2 на рисунке вне зависимостей для меня, а не передавая компонент А вдоль цепи. Любая помощь будет оценена!