簡體   English   中英

Spring @PostConstruct執行順序?

[英]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。

問題

  1. 有什么辦法可以避免這個嗎
  2. 避免這種依賴的正確標准方法是什么?

@PostConstruct在Bean構造之后調用,在注入上下文之前設置屬性。 理想情況下,您應該在那里放置任何依賴於其他bean的代碼 - 因為這些bean可能尚未初始化。

https://hobione.wordpress.com/2009/04/22/jsf-postconstruct/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM