大家好,我想做的是在@Value和@PostConstruct的帮助下用一些属性预填充一个CustomDetail对象,然后在服务上使用这个预填充的对象,但是当对象到达服务类时,它已经为空了......
更新!!!!这是正确的代码
@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 不为空......所以 new 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 首次启动以及我尝试注入服务类时才被初始化,就像它从未被初始化一样,感谢您的帮助......我是使用 SpringMVC 3.1 Tomcat