如何使用dagger2为循环依赖建模? 可以说我们只有两个类。第一次注入是通过构造函数,第二次是通过方法,如下例所示:
symbolicatedStack
答案 0 :(得分:2)
您可以使用lazy注入:
class B{
private Lazy<A> a;
@Inject
public B(Lazy<A> a) {
this.a = a;
}
}
或者,您可以注入Provider<A>
,但是请注意,每次调用Provider::get
时,提供程序都会返回A的新实例(假定默认范围),而Lazy::get
返回相同的实例。 / p>
答案 1 :(得分:1)
将library(dplyr)
housing %>% group_by(street) %>% summarise(Count=n())
或Provider<A>
注入其中之一,而不是直接注入A或B。然后,只要两个类在构造函数中都不需要另一个,它将起作用。如果他们在构造函数中彼此需要,那么就没有办法。
答案 2 :(得分:0)
据我所知
像这样的依赖关系表明A和B可能比应有的紧。要么合并它们,要么重构C中的公共部分