我需要为我的bean类提供一些配置。在常规的Spring应用程序中,我使用的是@PostConstruct,但它似乎不适用于Play 2.4
我在我的bean类上使用@Singleton注释。我可以注入,但@PostConstruct方法被忽略。如何将其他配置传递给我的bean?
PS。该方法定义如下:
void init() {
}
我已尝试将其设为公开\私有,但没有任何帮助
由于
答案 0 :(得分:1)
播放及其默认的依赖关系注入实现Guice不支持通过JSR 250: Common Annotations for the Java Platform
的注释支持完整的组件生命周期管理。他们只实施JSR 330: Dependency Injection for Java
。但Play有一些limited component lifecycle support,并且可以在播放应用程序关闭时进行组件清理。
对于您为单例组件执行某些初始化任务的特定要求,我建议使用构造函数。 您甚至可以通过构造函数注入注入其他组件。
@Singleton
public class MyComponent {
@Inject
Logger log;
@Inject
public MyComponent(MyConfiguration conf) {
conf.load();
init();
}
public void init(){
log.info("init");
}
}