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

SpringBoot啟動(dòng)報(bào)錯(cuò)屬性循環(huán)依賴報(bào)錯(cuò)問題的解決

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

SpringBoot啟動(dòng)報(bào)錯(cuò)屬性循環(huán)依賴報(bào)錯(cuò)

問題背景

SpringBoot項(xiàng)目啟動(dòng)報(bào)錯(cuò)。報(bào)錯(cuò)提示為某個(gè)類的A屬性與B屬性循環(huán)有依賴了。

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

代碼場(chǎng)景

發(fā)生報(bào)錯(cuò)的代碼場(chǎng)景如下所示:

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)依賴報(bào)錯(cuò)解決The dependencies of some of the beans in the application context form a cycle

循環(huán)依賴:

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

報(bào)錯(cuò)信息

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.

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

修改yml

spring:
    main:
        allow-circular-references: true

2、添加注解,延遲加載

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

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

總結(jié)

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

相關(guān)文章

  • SpringBoot使用spring retry重試機(jī)制的操作詳解

    SpringBoot使用spring retry重試機(jī)制的操作詳解

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

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

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

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

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

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

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

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

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

    淺談springboot自動(dòng)裝配原理

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

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

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

    Java面試之如何獲取客戶端真實(shí)IP

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

    java 中模式匹配算法-KMP算法實(shí)例詳解

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

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

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

最新評(píng)論

辽中县| 柘荣县| 屯门区| 九江市| 微博| 固阳县| 迁西县| 天全县| 安庆市| 长阳| 井冈山市| 平利县| 公主岭市| 家居| 平邑县| 桑植县| 贡嘎县| 墨脱县| 曲周县| 镇雄县| 阿拉善右旗| 吴桥县| 双鸭山市| 公主岭市| 太仆寺旗| 彩票| 马龙县| 梅州市| 余姚市| 凤城市| 六枝特区| 平舆县| 永济市| 大关县| 济南市| 彰化县| 云和县| 普安县| 高邑县| 博兴县| 宜阳县|