我有两个类,Foo< T>和酒吧,彼此依赖,以及其他各种类别.我使用Dagger-2进行依赖注入,但是如果我天真地添加循环依赖,Dagger会在运行时遇到堆栈溢出.什么是重构类来解决这个问题的好方法,同时仍然使用Dagger注入所有其他依赖项,并且对现有调用的重复和更改最少?
简单的方法是使用Lazy< T>.在一边.
原文链接:/javaschema/281540.htmlLazy<Foo> foo; Bar(Lazy<Foo> foo) { this.foo = foo; } // use foo.get(); when needed