У меня есть модуль и компонент для класса, когда удовлетворяют зависимости, например, из класса А.Добавление зависимостей в модулях - Dagger 2
@Module
public class ModuleA {
private ClassA classA;
public ModuleA(ClassA classA) {
this.classA = classA;
}
@Provides
ClassA providesClassA(){
return this.classA;
}
}
@Component(modules = {ModuleA})
public interface ComponentA {
void inject(ClassNeedingA classNeedingA);
}
@Module
public class ModuleB {
private ClassB classB;
public ModuleB(ClassB classB) {
this.classB = classB;
}
@Provides
ClassB providesClassB(){
return this.classB;
}
@Provides
ClassA providesClassA(ClassA classA){
return classA;
}
}
@Component(modules = {ModuleB})
public interface ComponentB {
void inject(ClassNeedingB classNeedingB);
}
public class classNeedingB{
@Inject
ClassB classB
@Inject
ClassA classA
public classNeedingB{
DaggerComponentB.builder().moduleB(new ModuleB(new ClassB()).componentA(DaggerComponentA.builder().moduleA(new ModuleA(new ClassA())).build()).build().inject();
}
}
ModuleB находится в совершенно другом пакете, и я хотел бы, чтобы удовлетворить зависимость экземпляра класса A от модуляB. Как получить кинжал, чтобы ввести экземпляр класса ClassA в ClassNeedingB. Итак, как я могу убедиться, что ModuleB зависит от ModuleA.
Благодаря
Thats, что я сделал, но он, похоже, не работает. @Inject не может ввести объект классаA – Sunny
Можете ли вы добавить код для класса, в который вы впрыскиваете? –
ok добавляет сейчас ... – Sunny