Dependency injection 在@内注入依赖项为方法提供了匕首2

Dependency injection 在@内注入依赖项为方法提供了匕首2,dependency-injection,dagger-2,Dependency Injection,Dagger 2,我已经正确地创建了这三个依赖项我通过使用Dagger 2调试验证了它们确实存在,让我们称它们为a、b、c,如下所示: class Example { ... @Inject A a; @Inject B b; @Inject C c; ... }, 由SomeModule提供,如下所示: @Module class SomeModule { ... @Singleton @Provides A provideA(){return new

我已经正确地创建了这三个依赖项我通过使用Dagger 2调试验证了它们确实存在,让我们称它们为a、b、c,如下所示:

class Example {
    ...
    @Inject A a;
    @Inject B b;
    @Inject C c;
    ...
},
由SomeModule提供,如下所示:

@Module
class SomeModule {
    ...
    @Singleton @Provides A provideA(){return new A()};
    @Singleton @Provides B provideB(){return new B()};
    @Singleton @Provides C provideC(){return new C()};
    ...
},
这个组件相当简单:

@Component(modules = {SomeModule.class, ...})
class SomeComponent {
    ...
    void inject(Example example);
    ...
},
我需要它们来创建另一个对象,我们称它们为d,e,类似这样的东西:

public Example(){
    DaggerSomeComponent.builder().build().inject(this);
    ...
    this.d = new D(c);
    this.e = new E(d, a, b);
    ...
}
我的问题是:有可能做到这样吗

class Example {
    ...
    @Inject A a;
    @Inject B b;
    @Inject C c;
    @Inject D d;
    @Inject E e;
    ...
    public Example(){
        DaggerSomeComponent.builder().build().inject(this);
        ...
    }
}
对。Dagger将在调用该方法之前创建实例

@Provides D provideD(C c){return new D(c)};
@Provides E provideE(A a, B b, D d){return new E(d, a, b)};