gpt4 book ai didi

tomcat 启动后,Spring3 @PostConstruct 变为空,并在尝试在服务类上使用时获取空对象

转载 作者:行者123 更新时间:2023-11-28 23:49:08 27 4
gpt4 key购买 nike

大家好我想做的是在@Value 和@PostConstruct 的帮助下用一些属性预填充 CustomDetail 对象,然后在服务上使用这个预填充的对象但是当对象到达服务类时,它已经为 null...

已更新!!!!这是正确的代码

@Service
public Class CustomDetail(){


ProxyObject prx;
...
@Value("#{myProperties.proxy.address}")
String propertyPrx;

@PostConstruct
private void setProperty(){
prx= new ProxyObject(propertyPrx);
}
.....
....
}

现在 setProperty() 方法有效地正确地完成了它的工作,如果我在调试时启动 Tomcat,我可以看到 propertyPrx 很好并且 Object prx 不为空...所以新的 ProxyObject(propertyPrx) 被调用没有任何问题,在这点一切都很好。现在,当我转到服务部分时并尝试使用它

public Class ServiceClient(){

....
...
@Autowired
CustomDetail cDetail;


....
...more code
cDetail.someMethod(a,n,y); //<---cDetail Object is null so I get a NullPointerException

}

关于为什么会发生这种情况以及为什么 @PostConstruct 仅在 Tomcat 首次启动时以及当我尝试注入(inject)服务类时才初始化的任何想法已经为空,就像它从未被初始化一样感谢您的帮助... 我正在使用 SpringMVC 3.1 Tomcat

最佳答案

尝试在 CustomDetail 上使用 @Component,然后使用

<context:component-scan base-package=”your.package” />

关于tomcat 启动后,Spring3 @PostConstruct 变为空,并在尝试在服务类上使用时获取空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11068997/

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