将@Provides方法绑定为预先单例
我想使用带注释的方法将 绑定到一个热切的单例中。我发现了错误216,这表明这是不可能的,但没有明确提到注释。@Provides
@Provides
我目前有一个类,它通过单独作为单例来及时请求单例,但这不是一个很好的解决方案。eager
public class LogicModule extends AbstractModule {
@Override public void configure() {
bind(SomeDep.class);
bind(MyWorkaround.class).asEagerSingleton();
}
// cannot add eager requirement here
@Provides @Singleton Logic createLogic(SomeDep dep) {
return LogicCreator.create(dep);
}
private static class MyWorkaround {
@Inject Logic logic;
}
}
我是否可以更改注释附近的某些内容,使变通办法类过时?