spring循環依賴的三種方式

1.構造器參數循環依賴spring

    對象間在構造函數中有相互依賴,經過構造函數注入 constructor-arg緩存

    啓動是會報循環依賴錯誤函數

2.setter方式單例,默認方式.net

    spring先經過無參構造方法建立bean,而後經過setter方式注入屬性。prototype

    這種狀況能夠解決循環依賴:Spring先是用構造實例化Bean對象 ,此時Spring會將這個實例化結束的對象放到一個Map中,而且Spring提供了獲取這個未設置屬性的實例化對象引用的方法。所以即便有循環依賴,也能夠將對象注入到各個實例中。對象

3.setter方式原型,prototypeblog

    一樣會報錯誤,對於「prototype」做用域Bean,Spring容器沒法完成依賴注入,由於「prototype」做用域的Bean,Spring容
器不進行緩存,所以沒法提早暴露一個建立中的Bean。
作用域

總結:spring能夠經過setter方式解決單例對象間的循環引用問題。原型

 

https://blog.csdn.net/u010644448/article/details/59108799容器

相關文章
相關標籤/搜索