1. 程式人生 > >has been injected into other beans[XXXXXXXXXX] in its raw version as part of a circular reference

has been injected into other beans[XXXXXXXXXX] in its raw version as part of a circular reference

rcu raw 初始化 its 如果 加載 cat 初始 方法

最近項目在重構,代碼層面的優化,然後從svn更新代碼之後,啟動tomcat報出下面這個異常

技術分享圖片

找了很久,試了很多方法,比如懶加載,沒作用,查找spring配置文件,也沒問題,最後發現了spring的循環依賴,就是ServiceA 引用 ServiceB,ServiceB又引用了 ServiceA ,如果代碼這樣寫,spring在初始化的時候根本不知道要把哪個bean裝入容器,導致bean加載失敗

實際上在代碼設計的時候,就不能這樣寫,盡量做到解耦,抽出公共部分新建一個service,因為我這邊SericeA只有一個方法引用到了ServiceB,所以我把這個方法寫進了ServiceB,然後去掉了@Autowire ServiceB,這樣就不會報錯啦!!!!

最後啰嗦一句,因為我不經常寫博客,今天有空,剛好碰到問題就記錄下來了,各位大佬手下留情哈!!!!

has been injected into other beans[XXXXXXXXXX] in its raw version as part of a circular reference