[英]Spring @PostConstruct execution order?
Class User
{
@Autowired
private MyOtherBean;
@PostConstruct
public void init(){
for(MyObject value : myOtherBean.getValues()){
}
}
}
Class MyOtherBean
{
@Autowired
private MyOtherBean1;
@PostConstruct
public void init(){
MyOtherBean1.populateValues();
}
public Collection<MyObject> getValues(){
}
}
問題:間歇性
描述 :現在在我的情況下,首先調用PostCostruct for User。 之后調用MyOtherBean PostConstruct實際填充值。
當User PostConstruct嘗試getValues時,它返回null並導致NPE。
問題
- 有什么辦法可以避免這個嗎
- 避免這種依賴的正確標准方法是什么?
@PostConstruct
在Bean構造之后調用,在注入上下文之前設置屬性。 理想情況下,您應該在那里放置任何依賴於其他bean的代碼 - 因為這些bean可能尚未初始化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.