由於service層互相呼叫,一下子沒有什麼好的拆分方案,所以先解決迴圈依賴問題。
現有aservice 和bservice,都在對方bean中注入,導致初始化時迴圈初始報錯,解決方案就是選擇其一使其延遲載入。
用配置方式只要將其一設定lazy-init,具體沒嘗試過因為不適用配置申明的方式。
然後從上下文中獲取aservice型別的bean即可
synchronized (aservice .class)
}}
良好的設計架構一般不會出現迴圈依賴的問題,但一下子沒有好的解決方案的時候,使用一些小技巧也未嘗不可,這是我的乙個思路,有其他好的解決方案歡迎指教。 Spring bean的迴圈依賴問題
傳送門 通過迴圈依賴問題徹底理解 spring ioc 的精華 迴圈依賴其實就是迴圈引用,也就是兩個或則兩個以上的bean互相持有對方,最終形成閉環。比如a依賴於b,b依賴於c,c又依賴於a。spring 中的迴圈依賴有構造器迴圈依賴和setter迴圈依賴。spring容器會將當前正在建立的bean...
spring Bean的生命週期和迴圈依賴
a類引用了b,b類引用了a,像這種迴圈著依賴就是迴圈依賴 對於這種配置不會報錯 對於這種配置會報錯 error creating bean with name instancea requested bean is currently in creation is there an unresolv...
Spring bean 繼承與依賴
spring 允許繼承 bean 的配置,被繼承的 bean 稱為父 bean.繼承這個父 bean 的 bean 稱為子 bean 子 bean 從父 bean 中繼承配置,包括 bean 的屬性配置 子 bean 也可以覆蓋從父 bean 繼承過來的配置 父 bean 可以作為配置模板,也可以作...