后期创建初始化guice singleton

Gas*_*rdP 1 java guice code-injection

有没有办法让guice在实例化单例后调用init()方法?在构造函数中调用init()不是一个选项,因为init()可以被子类覆盖.

And*_*ner 9

您可以在模块中注释方法@Inject,然后在模块上请求注入:

class MyModule extends AbstractModule {
  @Override public void configure() {
    requestInjection(this);
  }

  @Inject void initMyClass(MyClass instance) {
     instance.init();
  }
}
Run Code Online (Sandbox Code Playgroud)

另请参见/sf/answers/1713644131/.