Spring Boot產(chǎn)生環(huán)形注入的解決方案
Spring Boot產(chǎn)生環(huán)形注入
***************************
APPLICATION FAILED TO START
***************************
Description:
The dependencies of some of the beans in the application context form a cycle:
| MyController (field private com.zhxy.service.AService com.zhxy.controller.MyController.BService)
↑ ↓
| BService
└─────┘
啟動spring boot報以上錯誤
錯誤產(chǎn)生原因
BService里面注入AService使用,AService里面又注入BService使用
解決方法
在BService的實現(xiàn)類對 AService 加上Spirng的注解 @Lazy
@Autowired @Lazy private AService aService ;
Spring Boot循環(huán)注入的坑
一般循環(huán)注入的原因是
A依賴注入b,b注入A形成一個閉環(huán),導(dǎo)致spring在創(chuàng)建bean的時候具體不知道先創(chuàng)建哪一個,會拋出bean創(chuàng)建異常
解決辦法
將控制臺最后打印的bean復(fù)制出來,然后全局搜索項目,在所有注入這個bean的地方加上@Lazy注解
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring/Spring Boot 中優(yōu)雅地做參數(shù)校驗拒絕 if/else 參數(shù)校驗
這篇文章主要介紹了Spring/Spring Boot 中優(yōu)雅地做參數(shù)校驗拒絕 if/else 參數(shù)校驗,本文使用最新的 Spring Boot 版本 2.4.5,通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-04-04解決mybatis generator MySQL自增ID出現(xiàn)重復(fù)問題MySQLIntegrityC
在MySQL中使用MyBatis時,可能會遇到由于主鍵重復(fù)導(dǎo)致的插入失敗問題,此問題通常發(fā)生在連續(xù)插入多條數(shù)據(jù)時,如果selectKey的order配置錯誤,如使用BEFORE而不是AFTER,將會導(dǎo)致獲取的ID未更新,引起主鍵重復(fù)錯誤,正確的配置應(yīng)使用AFTER2024-10-10maven多profile 打包下 -P參和-D參數(shù)的實現(xiàn)
這篇文章主要介紹了maven多profile 打包下 -P參和-D參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11詳解Java并發(fā)編程之volatile關(guān)鍵字
這篇文章主要為大家介紹了Java并發(fā)編程之volatile關(guān)鍵字,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11關(guān)于fastjson的@JSONField注解的一些問題(詳解)
下面小編就為大家?guī)硪黄P(guān)于fastjson的@JSONField注解的一些問題(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02