匕首2 inject()包含一个依赖周期

匕首2 inject()包含一个依赖周期,第1张

概述我在Dagger中尝试将以下设置迁移到Dagger2:publicclassOrigin{finalAa;publicOrigin(Aa){this.a=a;}}publicclassA{finalBb;@InjectpublicA(Bb){this.b=b;}}publicclassB{finalLazy<A>a;

我在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也会给我带来以下编译时错误:

error: AppComponent.inject() contains a dependency cycle

我想念什么吗?我尝试用ProvIDer替换Lazy,但结果是相同的.

解决方法:

我的问题是我正在使用Dagger 2.0版本,该版本仍然是开放的issue.一旦将其更新为当前的2.1版本,该问题就不再存在.

总结

以上是内存溢出为你收集整理的匕首2 inject()包含一个依赖周期全部内容,希望文章能够帮你解决匕首2 inject()包含一个依赖周期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1120658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存