@PostConstruct在Play Framework 2.4中不起作用

时间:2015-06-22 15:55:45

标签: java playframework

我需要为我的bean类提供一些配置。在常规的Spring应用程序中,我使用的是@PostConstruct,但它似乎不适用于Play 2.4

我在我的bean类上使用@Singleton注释。我可以注入,但@PostConstruct方法被忽略。如何将其他配置传递给我的bean?

PS。该方法定义如下:

void init() {
}

我已尝试将其设为公开\私有,但没有任何帮助

由于

1 个答案:

答案 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");
    }
}