UnsatisfiedDependencyException
生活随笔
收集整理的這篇文章主要介紹了
UnsatisfiedDependencyException
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
UnsatisfiedDependencyException(無法啟動):
has been injected into other beans [xxx] in its raw version as part of a circular reference
問題出現的原因
1、原因: AdminServiceImpl 類中注入了 IPlateDeclareService , 而在 IPlateDeclareService 類中也注入了 IPlateDeclareService ,從而引起該異常。 (循環引用)
2、解決: IPlateDeclareServiceImpl 類注入 IPlateDeclareService 時,增加注解 @Lazy ,反之同理。
- Spring是通過遞歸的方式獲取目標bean及其所依賴的bean的;
- Spring實例化一個bean的時候,是分兩步進行的,首先實例化目標bean,然后為其注入屬性。
結合這兩點,也就是說,Spring在實例化一個bean的時候,是首先遞歸的實例化其所依賴的所有bean,直到某個bean沒有依賴其他bean,此時就會將該實例返回,然后反遞歸的將獲取到的bean設置為各個上層bean的屬性的。
@Autowired@Lazyprivate IPlateDeclareService plateDeclareService;[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ehP8I5HQ-1600324338949)(C:\Users\Liu-PC\Desktop\image-20200917141546268.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ooF3RMjQ-1600324338952)(C:\Users\Liu-PC\Desktop\image-20200917141603833.png)]
總結
以上是生活随笔為你收集整理的UnsatisfiedDependencyException的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中的 硬链接ln和软连接ln
- 下一篇: 解决:UnsatisfiedDepend