gpt4 book ai didi

java - 带注释 @PostConstruct (javax) 的方法不会调用

转载 作者:行者123 更新时间:2023-12-02 03:08:57 24 4
gpt4 key购买 nike

是否可以在使用 javax 的注释调用构造函数后立即调用特定的初始化方法?

我将 @Inject 注释 (javax.inject.Inject) 放在我想要使用 @PostConstruct 在方法中初始化的字段上code> 注释 (javax.annotation.PostConstruct) 就在构造函数被调用之后,但是这个 init 方法没有被调用,NPE 崩溃了。

public class ClassChild extends ClassParent{

@Inject
private SomeService someService;


@PostConstruct
public void init(){

someService = new SomeService(getSomeValues()) // getSomeValues() a method from parent
}

我是否正确使用了这些注释?问题是什么?如何在调用 ClassChild 构造函数后立即调用 init() 方法?我将非常感谢任何帮助!

最佳答案

您的ClassChild不是托管对象(例如Spring中的@Component),因此@Inject@PostConstruct都不是 会起作用的。您不应该调用构造函数,您需要让框架初始化 ClassChild,之后框架还将调用 @PostConstruct 方法。

关于java - 带注释 @PostConstruct (javax) 的方法不会调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58234544/

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