gpt4 book ai didi

java - @PostConstruct 在 Play Framework 2.4 中不起作用

转载 作者:行者123 更新时间:2023-11-30 03:22:38 26 4
gpt4 key购买 nike

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

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

PS。该方法定义如下:

void init() {
}

我尝试将其公开\私有(private),但没有任何帮助

谢谢

最佳答案

Play 及其默认的依赖注入(inject)实现 Guice 不支持通过 JSR 250:Java 平台通用注释 中的注释进行完整的组件生命周期管理。他们仅实现JSR 330:Java 依赖注入(inject)。然而Play有一些limited component lifecycle support并提供了在 Play 应用程序关闭时进行组件清理的可能性。

对于您为单例组件执行一些初始化任务的特定要求,我建议使用构造函数。您甚至可以通过构造函数注入(inject)来注入(inject)其他组件。

@Singleton
public class MyComponent {
@Inject
Logger log;

@Inject
public MyComponent(MyConfiguration conf) {
conf.load();
init();
}

public void init(){
log.info("init");
}
}

关于java - @PostConstruct 在 Play Framework 2.4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30984508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com