0

大家好,我想做的是在@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

4

1 回答 1

0

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

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

于 2012-06-17T06:56:27.017 回答