Spring Bean相互依賴問題


如果是通過get,set 注入就不會有問題 

如果是通過構造函數注入,SPRING就會報循環引用注入出錯 

 

循環依賴——在采用構造器注入的方式配置bean時,很有可能會產生循環依賴的情況。比如說,一個類A,需要通過構造器注入類B,而類B又需要通過構造器注入類A。如果為類A和B配置的bean被互相注入的話,那么Spring IoC容器將檢測出循環引用,並拋出 BeanCurrentlyInCreationException異常。對於此問題,一個可能的解決方法就是修改源代碼,將某些構造器注入改為setter注入。另一個解決方法就是完全放棄構造器注入,只使用setter注入。換句話說,除了極少數例外,大部分的循環依賴都是可以避免的,不過采用setter注入產生循環依賴的可能性也是存在的。與通常我們見到的非循環依賴的情況有所不同,在兩個bean之間的循環依賴將導致一個bean在被完全初始化的時候被注入到另一個bean中(如同我們常說的先有蛋還是先有雞的情況)。)

 

Spring只能解決單例模式下的Setter循環依賴。Spring是不能解決prototype作用域的bean之間的循環依賴的。

 

https://blog.csdn.net/lyc_liyanchao/article/details/83099675


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM