簡體   English   中英

Dagger 2 inject()包含一個依賴循環

[英]Dagger 2 inject() contains a dependency cycle

我在Dagger中有以下設置,我正在嘗試遷移到Dagger 2:

public class Origin {
    final A a;
    public Origin(A a) {
        this.a = a;
    }
}

public class A {
    final B b;
    @Inject public A (B b) {
        this.b = b;
    }
}

public class B {
    final Lazy<A> a;
    @Inject public B (Lazy<A> a) {
        this.a = a;
    }
}

然后在我的模塊上我有:

@Provides @Singleton Origin providesOrigin(A a) {
    return new Origin(a);
}

問題是,即使我使用Lazy ,Dagger 2也會給出以下編譯時錯誤:

錯誤:AppComponent.inject()包含一個依賴循環

我錯過了什么嗎? 我嘗試用提供Provider替換Lazy但結果是一樣的。

我的問題是我使用的是Dagger的2.0版,這仍然是一個懸而未決的問題 一旦我將其更新到當前的2.1版本,問題就不再存在了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM