我正在扩展Guice,AbstractModule并且在扩展类中我需要访问Guice的注入器.这可能,如果是的话,怎么样?
我有一个需要一些的模块Depedency.是否可以注入模块本身?我意识到这有点鸡蛋和鸡蛋的情况......
例:
public class MyModule implements Module {
private final Dependency d_;
@Inject public MyModule(Dependency d) {
d_ = d;
}
public void configure(Binder b) { }
@Provides Something provideSomething() {
// this requires d_
}
}
Run Code Online (Sandbox Code Playgroud)
我想在这种情况下,解决方案是将@Provides方法转变为一个完整的Provider<Something>类.这显然是一个简化的例子; 我正在处理的代码有很多这样的@Provides方法,所以将它们分成各个Provider<...>类并引入一个模块来配置它们会增加相当多的混乱 - 我认为Guice是关于减少样板杂乱的一切?
也许这反映了我对Guice的相对苛刻,但我遇到了一些我很想做上述事情的案例.我肯定错过了什么...