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


       

 

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

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

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

 

 

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


免責聲明!

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



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