Springboot 使用升級小記-循環依賴

springboot 使用已經非常廣泛了,它的版本迭代速度也比較快,過一段時間版本差異就會比較大。

由于低版本依賴的 spring 版本有漏洞問題,這次我們是從 2.2.6 版本直接升級到 2.7.16,升級 3.0 的話擔心差異更大。

這時直接修改依賴啟動就會報錯,主要是提示循環依賴的問題,這里就不貼代碼了,大致是這樣的錯誤

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.

如果仔細看可以發現有修改建議。這里再啰嗦一下,spring 一直不建議循環依賴,但是沒辦法還得兼容,這次 springboot2.6 這個版本直接給禁用了,你要使用要么去掉循環依賴,要么使用兼容配置。想必大家要在老項目去掉循環依賴都覺得頭大吧。那就這樣來搞:

通過在 application.properties 或 application.yaml 配置打開允許循環依賴

application.properties

spring.main.allow-circular-references=true

application.yaml

spring:main:allow-circular-references: true

如果你使用了 springcloud 時,在沒有以上的配置文件時,也可以在
resource/bootstrap.yaml 中增加配置:

spring:main:allow-circular-references: true

下面是參考資料

禁用循環依賴:https://www.springcloud.io/post/2022-02/spring-cyclic-dependencies/#gsc.tab=0

其他解決方案:https://medium.com/@karthik.jeyapal/circular-dependency-in-spring-boot-how-to-detect-and-fix-it-2a6e64bb488f

核心就是要對升級的內容做到心中有數,盲目升級就會出現各種搜索解決方案,所以建議大家多了解官方文檔,比如遷移建議、更新內容等

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697773.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697773.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697773.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jmeter 學習目錄(0)

Jmeter 所有內容均以學習為主輸出內容,按照最小單位和基礎進行輸出。 如果有看不懂,或者有不明確的內容,歡迎大家留言說明。 Mac Jmeter下載安裝啟動(1) Jmeter 目錄介紹(2) Jmeter基礎發起一次請求(3)

代碼隨想錄三刷day07

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、力扣206. 反轉鏈表二、力扣24. 兩兩交換鏈表中的節點 前言 遞歸寫法和雙指針法實質上都是從前往后翻轉指針指向,其實還有另外一種與雙指針法不同…

SD-WAN:快速改造升級企業原有網絡架構

隨著企業信息化的推進,傳統網絡架構已難以滿足企業日益復雜和多樣化的組網互聯需求。企業在不斷提高對網絡的要求,包括各辦公點的互聯數據傳輸、資源共享、視頻會議、ERP、OA、郵箱系統、云服務等應用需求,以及對網絡運維工作的簡化和降低難度…

Spring Event 快速入門

請直接看原文 : Spring Event,賊好用的業務解耦神器! (qq.com) -------------------------------------------------------------------------------------------------------------------------------- 前言 Spring Event 同步使用 Spring Event 異…

架構篇35:微服務架構最佳實踐 - 方法篇

文章目錄 服務粒度拆分方法基礎設施小結上一篇我們談了實施微服務需要避免踩的陷阱,簡單提煉為: 微服務拆分過細,過分強調“small”。微服務基礎設施不健全,忽略了“automated”。微服務并不輕量級,規模大了后,“lightweight”不再適應。針對這些問題,我們看看微服務最佳…

ADAS智能駕駛測試知多少?

當涉及ADAS(Advanced Driver Assistance Systems)智能駕駛的測試時,有一個完整的測試體系可以用來評估系統的性能和功能。 1. 傳感器測試 1.1 傳感器校準測試 描述:確保傳感器(如雷達、攝像頭、激光雷達等)…

【stm32】hal庫學習筆記-UART/USART串口通信(超詳細!)

【stm32】hal庫學習筆記-UART/USART串口通信 hal庫驅動函數 CubeMX圖形化配置 導入LCD.ioc RTC設置 時鐘樹配置 設置LSE為RTC時鐘源 USART設置 中斷設置 程序編寫 編寫主函數 /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 16, "Demo12_1:USART1-CH340&q…

【PythonGIS】Python線矢量等距離取點/線等分取點點創建矢量面

不多說,這是之前項目需求的代碼,已經是去年的了一直沒來的及發,今天抽出來一丟丟的空擋發一下。主要就是利用線矢量等距離生成點矢量,或者直接將線矢量等分生成點矢量,這個需求其實極限一下就是線轉點了(將…

Java中各種O(PO,BO,DTO,VO等) 是不是人為增加系統復雜度?

Java中各種O(PO,BO,DTO,VO等) 是不是人為增加系統復雜度? 在Java和其他編程語言的開發過程中,經常會用到幾個以"O"結尾的縮寫,比如PO,BO,DTO,VO等等,O在這里是Object的縮寫,不同的O代表了不同的數據類型&am…

onlyoffice7.5.1 實現填寫表單 word+html form雙向綁定功能

說明:目前官方已經更新wordhtml為8.0以前的,目前官方新版本8.0增加了pdf綁定,這個我考慮在以后研究努力實現。 onlyoffice雙向綁定form表單數據

Java基礎 - 13 Queue之DelayQueue、PriorityQueue、PriorityBlockingQueue講解

在Java的隊列世界里,有三位大佬,他們分別是DelayQueue、PriorityQueue和PriorityBlockingQueue。今天,讓我們一起揭開他們神秘的面紗,看看他們各自的特點和用途吧! DelayQueue 首先,讓我們來認識一下Delay…

2.22 作業

順序表 運行結果 fun.c #include "fun.h" seq_p create_seq_list() {seq_p L (seq_p)malloc(sizeof(seq_list));if(LNULL){printf("空間申請失敗\n");return NULL;}L->len 0; bzero(L,sizeof(L->data)); return L; } int seq_empty(seq_p L) {i…

工廠方法模式Factory Method

1.模式定義 定義一個用于創建對象的接口,讓子類決定實例化哪一個類。Factory Method 使得一個類的實例化延遲到子類 2.使用場景 1.當你不知道改使用對象的確切類型的時候 2.當你希望為庫或框架提供擴展其內部組件的方法時 主要優點: 1.將具體產品和創建…

PHP+vue+mysql倉庫進銷存管理系統8jeqj

開發語言:php 后端框架:Thinkphp 前端框架:vue.js 服務器:apache 數據庫:mysql 運行環境:phpstudy/wamp/xammp等 數據庫工具:Navicat/phpmyadmin 登錄模塊:此模塊主要有4個部分,基…

實驗中用戶行為的檢測

[1] Makris S , Karagiannis P , Koukas S ,et al.Augmented reality system for operator support in human–robot collaborative assembly[J].CIRP Annals - Manufacturing Technology, 2016:S0007850616300385.DOI:10.1016/j.cirp.2016.04.038. —————————————…

gem5學習(24):緩存一致性協議——Cache Coherence Protocols

目錄 一、Common Notations and Data Structures 1、Coherence Messages 2、Access Permissions 3、Data Structures 二、Coherence controller FSM Diagrams 官網教程:gem5: Cache Coherence Protocols 一、Common Notations and Data Structures &#xff…

什么是SSD型云服務器?

?  SSD云服務器是一種使用固態硬盤代替傳統HDD進行存儲的虛擬機。SDD 使用閃存單元來存儲數據,與云計算技術相結合,形成強大且高效的存儲解決方案,可以隨時隨地訪問。 SSD云服務器如何工作? SSD云服務器是利用虛擬化和云計算技術創建的。…

C++最佳實踐之編譯篇

C最佳實踐之工程編譯 在大型c/c工程開發中,往往會涉及多級CMakeLists.txt的調用,并且調用方式錯綜復雜,主要有以下兩種方式: 1. 子目錄中的CMakeList.txt獨立生成目標,不作為主目標生成過程的依賴關系(比…

virtualenv env_name 使用 virtualenv 創建 python 虛擬環境

為什么要用這個 win7 32 環境下 pycharm 只能用低版本的,比如 2016,2018 此時pycharm 圖形界面創建的 虛擬環境版本很低,有些包不兼容,因此用 virtualenv 模塊,可以創建 20 版本以上的虛擬環境 virtualenv env_name官方文檔 http…

如何選擇最適合的圖紙加密軟件?安秉網盾軟件用戶體驗及性價比

安秉網盾圖紙加密軟件是一款功能強大的圖紙加密工具,具有以下特點和優勢: 全盤加密:安秉網盾采用先進的加密算法,能對文件、文件夾、磁盤等數據進行全面加密,確保數據在存儲和傳輸過程中的安全性。 監控與審計&#x…