最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot啟動報錯屬性循環(huán)依賴報錯問題的解決

 更新時間:2023年05月19日 11:14:17   作者:Android_la  
這篇文章主要介紹了SpringBoot啟動報錯屬性循環(huán)依賴報錯問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot啟動報錯屬性循環(huán)依賴報錯

問題背景

SpringBoot項目啟動報錯。報錯提示為某個類的A屬性與B屬性循環(huán)有依賴了。

前言:SpringBoot啟動過程中是默認支持循環(huán)依賴(即A類中有B屬性,B類中有A屬性),筆者還不清楚為什么會發(fā)生循環(huán)依賴報錯。

代碼場景

發(fā)生報錯的代碼場景如下所示:

public class X {
? ? @Autowrie
? ? private A a;
? ? @Autowrie
? ? private B b;
}
public class A {
? ? private B b;
}
public class B {
? ? private A a;
}

解決方案

有2種解決方案

懶加載注入

方案一是使用@Lazy懶加載,代碼如下:

public class X {
? ? @Lazy
? ? @Autowrie
? ? private A a;
? ? @Autowrie
? ? private B b;
}

set方法注入

方案二是使用set方法,代碼如下:

public class X {
? ? private A a;
? ? @Autowrite
? ? public void setA(A a) {
? ? ? ? this.a = a;
? ? }
? ? @Autowrie
? ? private B b;
}

SpringBoot循環(huán)依賴報錯解決The dependencies of some of the beans in the application context form a cycle

循環(huán)依賴:

循環(huán)依賴就是循環(huán)引用,也就是兩個或則兩個以上的bean互相依賴對方,形成閉環(huán)。比如A類中有B屬性,B類中有A屬性

報錯信息

The dependencies of some of the beans in the application context form a cycle:

解決方案

1、修改配置文件

根據(jù)Action中的提示

Action:
 
Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

不鼓勵依賴循環(huán)引用,默認情況下禁止循環(huán)引用。更新應(yīng)用程序以刪除 Bean 之間的依賴關(guān)系循環(huán)。作為最后的手段,可以通過將 spring.main.allow-circular-references 設(shè)置為 true 來自動打破循環(huán)。因此可以在yml配置文件中設(shè)置來打破循環(huán)依賴

修改yml

spring:
    main:
        allow-circular-references: true

2、添加注解,延遲加載

這個是網(wǎng)上找到的解決方案,經(jīng)過測試,問題順利解決

由于在循環(huán)依賴中,Spring在初始化的時候不知道先加載哪個bean,因此可以通過使用@Lazy注解,放在其中一個bean上,讓這個bean延遲加載,另一個bean就會先加載,進而解決循環(huán)依賴問題

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot使用spring retry重試機制的操作詳解

    SpringBoot使用spring retry重試機制的操作詳解

    實際工作中由于網(wǎng)絡(luò)波動等原因?qū)е麓a執(zhí)行失敗需要重新執(zhí)行,保證最終能夠完成業(yè)務(wù)功能,通常來說,會用try/catch,while循環(huán)或者定時任務(wù)重處理,但是這樣的做法缺乏統(tǒng)一性,要多寫很多代碼,spring-retry組件可以通過注解優(yōu)雅的實現(xiàn)重處理功能
    2024-12-12
  • Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn)

    Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn)

    本文主要介紹了Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • IDEA調(diào)試源碼小技巧之辨別抽象類或接口多種實現(xiàn)類的正確路徑

    IDEA調(diào)試源碼小技巧之辨別抽象類或接口多種實現(xiàn)類的正確路徑

    這篇文章主要介紹了IDEA調(diào)試源碼小技巧之辨別抽象類或接口多種實現(xiàn)類的正確路徑,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • java實現(xiàn)五子棋小游戲

    java實現(xiàn)五子棋小游戲

    這篇文章主要介紹了java實現(xiàn)五子棋小游戲的相關(guān)資料,十分簡單實用,推薦給大家,需要的朋友可以參考下
    2015-03-03
  • List集合多個復(fù)雜字段判斷去重的案例

    List集合多個復(fù)雜字段判斷去重的案例

    今天小編就為大家分享一篇關(guān)于List集合多個復(fù)雜字段判斷去重的案例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 淺談springboot自動裝配原理

    淺談springboot自動裝配原理

    作為Spring Boot的精髓,自動配置原理首當(dāng)其沖.今天就帶大家了解一下springboot自動裝配的原理,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Spring AOP 對象內(nèi)部方法間的嵌套調(diào)用方式

    Spring AOP 對象內(nèi)部方法間的嵌套調(diào)用方式

    這篇文章主要介紹了Spring AOP 對象內(nèi)部方法間的嵌套調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java面試之如何獲取客戶端真實IP

    Java面試之如何獲取客戶端真實IP

    這篇文章主要給大家介紹了關(guān)于Java面試之如何獲取客戶端真實IP的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • java 中模式匹配算法-KMP算法實例詳解

    java 中模式匹配算法-KMP算法實例詳解

    這篇文章主要介紹了java 中模式匹配算法-KMP算法實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 簡單了解java局部變量與成員變量的區(qū)別

    簡單了解java局部變量與成員變量的區(qū)別

    這篇文章主要介紹了簡單了解java局部變量與成員變量的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10

最新評論

桐梓县| 正镶白旗| 古交市| 宁都县| 丹凤县| 若羌县| 新化县| 陵水| 尉氏县| 大厂| 松溪县| 乳山市| 茂名市| 雷波县| 威信县| 新津县| 林甸县| 临夏县| 眉山市| 思南县| 阿尔山市| 临安市| 乌兰察布市| 仙桃市| 新巴尔虎右旗| 余庆县| 池州市| 庆元县| 东乡族自治县| 泾川县| 香格里拉县| 正定县| 天等县| 临安市| 南通市| 黄石市| 玛多县| 枝江市| 贵港市| 弥勒县| 白沙|