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

Spring3@PostConstruct在tomcat启动后变为null,并在尝试在服务类上使用时获取null对象,spring,tomcat,spring-mvc,null,postconstruct,Spring,Tomcat,Spring Mvc,Null,Postconstruct,大家好,我想做的是在@Value和@PostConstruct的帮助下用一些属性预先填充CustomDetail对象,然后在服务上使用这个预先填充的对象 但是当对象到达服务类时,它的null已经 更新!!!!这是正确的代码 @Service public Class CustomDetail(){ ProxyObject prx; ... @Value("#{myProperties.proxy.address}") String propertyPrx; @PostConst

大家好,我想做的是在@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是好的,并且对象prx不是null。。。因此,调用新的ProxyObject(propertyPrx)时没有任何问题,此时一切正常。 现在,当我转到服务部分时 试着用它

public Class ServiceClient(){

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


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

}
public类ServiceClient(){
....
...
@自动连线
客户详细信息;
....
…更多代码

cDetail.someMethod(a,n,y);//尝试在CustomDetail上使用@Component,并使用


您好,Subin我更新了代码,因此它将反映我现在拥有的内容。我在XMLs conf文件中已经有了这些配置,您可以看到,我还使用了@service而不是“@”组件,所以我认为Spring容器会找到它。这段代码的问题是它来自另一个项目,所以我们试图重用它,再次感谢您的帮助。您能不能也显示一下您有ServiceClient的bean定义的地方,它是否也用@Service注释?不,它没有任何@annotation(组件、服务……至少不在原始版本中,也不在任何.xml文件上的任何bean定义中)我以前尝试过所有这些,但似乎没有任何东西可以复制原始代码,所以我想可能是某种配置(除了Subin建议之外,我还尝试了我认为这就是问题所在Jesse,Autowired通过扫描bean定义、查找@Autowired注释字段和注入依赖项来工作,因此即使ServiceClient也必须是Spring bean,它的依赖项才能由Spring连接。我发现了一个包含bean引用的xml文件在原始代码中ce到ServiceClient,仍然无法在我的新代码中使用它。我尝试使用@Component(“ServiceClient”),因此将有一个同名的bean引用,我不确定是否同时使用xml样式的bean和注释会导致它们之间的不兼容?仍然是“@”autowired CustomDetail对象在该点上变为null。我所做的测试是在“@”控制器上自动连接CustomDetail,它可以工作,因此我不确定在xml或“@Controller上声明bean在上下文中的区别是什么