Jes*_*t Z 12 circular-dependency dagger dagger-2
我有两个班,Foo<T>和Bar,这是互相依赖的,以及各种其他类.我使用Dagger-2进行依赖注入,但如果我天真地添加循环依赖,Dagger会在运行时遇到堆栈溢出.什么是重构类来解决这个问题的好方法,同时仍然使用Dagger注入所有其他依赖项,并且对现有调用的重复和更改最少?
Epi*_*rce 29
简单的方法是Lazy<T>在一边使用.
Lazy<Foo> foo;
@Inject
Bar(Lazy<Foo> foo) {
this.foo = foo;
}
// use foo.get(); when needed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4840 次 |
| 最近记录: |