欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot版本升級容易遇到的一些問題

 更新時(shí)間:2023年12月21日 11:00:10   作者:彩虹海。  
由于項(xiàng)目需求,需要將nacos 1.4.6版本升級到2.x版本,由此引發(fā)的springboot、springcloud、springcloud Alibaba一系列版本變更,本文給大家總結(jié)一下SpringBoot版本升級容易遇到的一些問題,需要的朋友可以參考下

背景:由于項(xiàng)目需求,需要將nacos 1.4.6版本升級到2.x版本,由此引發(fā)的springboot、springcloud、springcloud Alibaba一系列版本變更。

舊版本分別為:

Spring Boot 2.3.5.RELEASE

Spring Cloud Hoxton.SR9

Spring Cloud Alibaba 2.2.6.RELEASE

一、版本選擇

1、springboot2.x.x及以下使用jdk11、jdk8都可以,springboot3.x.x最低要求jdk17。首先確定springboot版本需要支持jdk8,即需要springboot2.x.x。

2、根據(jù)項(xiàng)目需求,選擇合適的版本。

參考:Git版本說明網(wǎng)址:(組件版本以及依賴關(guān)系)

例:要考慮支持nacos2.x,所以紅框內(nèi)是可選。

組件版本關(guān)系

Spring Cloud Alibaba 需要在2.2.8.RELEASE及以上,紅框內(nèi)是可選。

springboot版本

最終確定選擇用*標(biāo)記的最新版本。

Spring Boot 2.6.13

Spring Cloud 2021.0.5

Spring Cloud Alibaba 2021.0.5.0

nacos 2.2.0

二、奇奇怪怪的坑

1、循環(huán)依賴

springboot升級為2.6.13后項(xiàng)目啟動(dòng)報(bào)錯(cuò):

循環(huán)依賴報(bào)錯(cuò)

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.
出現(xiàn)的bug大概意思是:不鼓勵(lì)依賴循環(huán)引用,默認(rèn)情況下是禁止的。更新您的應(yīng)用程序以刪除 bean 之間的依賴循環(huán)。作為最后的手段,可以通過將 spring.main.allow-circular-references 設(shè)置為 true 來自動(dòng)中斷循環(huán)。

沒有特殊處理代碼,最后選擇了修改yml配置文件,按照提示添加如下配置

spring:
  main:
    allow-circular-references:true

2、quartz數(shù)據(jù)源配置

springboot升級為2.6.13后項(xiàng)目啟動(dòng)報(bào)錯(cuò):
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘quartzScheduler’ defined in class path resource [org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.class]: Invocation of init method failed; nested exception is org.quartz.SchedulerConfigException: DataSource name not set.

報(bào)錯(cuò)原因:

spring-boot-starter-quartz 2.5.6 之前使用org.quartz.impl.jdbcjobstore.JobStoreTX定義quartz的默認(rèn)數(shù)據(jù)源支持,quartz.properties如下

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX

2.5.6的版本后將不再支持以上方式進(jìn)行配置默認(rèn)數(shù)據(jù)源,需改為如下配置

org.quartz.jobStore.class=org.springframework.scheduling.quartz.LocalDataSourceJobStore

3、跨域問題

項(xiàng)目啟動(dòng)成功,前端訪問報(bào)錯(cuò):

在這里插入圖片描述

去網(wǎng)上查了原因后,是升級后spring的CorsFilter類針對CorsConfiguration新增了校驗(yàn),最后修改方案是繼續(xù)使用CorsFilter,使用官方推薦的allowedOriginPatterns即可,如下

// corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedOriginPattern("*");

跨越修改

4、版本依賴排除

升級后sentinel相關(guān)提示找不到依賴錯(cuò)誤,cant reslove fastjson:1.2.83_noneautotype
排除當(dāng)前使用的版本,引用maven倉庫中有的版本

依賴版本信息

5、Druid的一個(gè)bug

拋出異常:maxEvictableIdleTimeMillis must be grater than minEvictableIdleTimeMillis。
Druid-1.1.10 升級為 Druid-1.1.22

數(shù)據(jù)庫連接池升級

具體詳細(xì)可參考這篇文章:Druid的一個(gè)Bug

以上就是SpringBoot版本升級容易遇到的一些問題的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot版本升級問題的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java基礎(chǔ)之代碼死循環(huán)詳解

    Java基礎(chǔ)之代碼死循環(huán)詳解

    這篇文章主要介紹了Java基礎(chǔ)之代碼死循環(huán)詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Spring 整合 MyBatis的實(shí)現(xiàn)步驟

    Spring 整合 MyBatis的實(shí)現(xiàn)步驟

    SpringMVC 本來就是 Spring 框架的一部分,這兩者無須再做整合,所以 SSM 整合的關(guān)鍵就是Spring對MyBatis的整合,三大框架整合完成后,將以 Spring 為核心,調(diào)用有關(guān)資源,高效運(yùn)作,這篇文章主要介紹了 Spring 整合 MyBatis的實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2023-02-02
  • springboot集成shiro權(quán)限管理簡單實(shí)現(xiàn)

    springboot集成shiro權(quán)限管理簡單實(shí)現(xiàn)

    這篇文章主要介紹了springboot集成shiro權(quán)限管理簡單實(shí)現(xiàn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Java中Excel高效解析工具EasyExcel的實(shí)踐

    Java中Excel高效解析工具EasyExcel的實(shí)踐

    EasyExcel是阿里巴巴開源的一個(gè)excel處理框架,已使用簡單,節(jié)省內(nèi)存著稱,下面這篇文章主要給大家介紹了關(guān)于Java中Excel高效解析工具EasyExcel實(shí)踐的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Java String類簡單用法實(shí)戰(zhàn)示例【字符串輸出、比較】

    Java String類簡單用法實(shí)戰(zhàn)示例【字符串輸出、比較】

    這篇文章主要介紹了Java String類簡單用法,結(jié)合具體實(shí)例形式分析了Java使用String類實(shí)現(xiàn)字符串的輸出和比較功能相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Java基本數(shù)據(jù)類型族譜與易錯(cuò)點(diǎn)梳理解析

    Java基本數(shù)據(jù)類型族譜與易錯(cuò)點(diǎn)梳理解析

    Java有八大基本類型,很多同學(xué)只對經(jīng)常使用的int類型比較了解。有的同學(xué)是剛從C語言轉(zhuǎn)入Java學(xué)習(xí),誤以為兩者的基本數(shù)據(jù)類型完全相同,這也是大錯(cuò)特錯(cuò)的。今天這本Java基本數(shù)據(jù)類型全解析大字典,可以幫助你直接通過目錄找到你想要了解某一種基本數(shù)據(jù)類型
    2022-01-01
  • 關(guān)于Java中@SuppressWarnings的正確使用方法

    關(guān)于Java中@SuppressWarnings的正確使用方法

    這篇文章主要介紹了關(guān)于Java中@SuppressWarnings的正確使用方法,@SuppressWarnings注解主要用在取消一些編譯器產(chǎn)生的警告對代碼左側(cè)行列的遮擋,有時(shí)候這會擋住我們斷點(diǎn)調(diào)試時(shí)打的斷點(diǎn),需要的朋友可以參考下
    2023-05-05
  • mybatis中使用大于小于等于的正確方法

    mybatis中使用大于小于等于的正確方法

    在mybatis中sql是寫在xml映射文件中的,如果sql中有一些特殊字符的話,在解析xml文件的時(shí)候就會被轉(zhuǎn)義,下面我們就一起來看一下大于小于等于是怎么轉(zhuǎn)義的
    2021-04-04
  • Spring Security系列教程之會話管理處理會話過期問題

    Spring Security系列教程之會話管理處理會話過期問題

    會話過期,是指當(dāng)用戶登錄網(wǎng)站后,較長一段時(shí)間沒有與服務(wù)器進(jìn)行交互,將會導(dǎo)致服務(wù)器上的用戶會話數(shù)據(jù)(即session)被銷毀。這篇文章主要介紹了Spring Security系列教程之會話管理處理會話過期問題,需要的朋友可以參考下
    2021-10-10
  • 深入理解 Java、Kotlin、Go 的線程和協(xié)程

    深入理解 Java、Kotlin、Go 的線程和協(xié)程

    這篇文章主要介紹了深入理解 Java、Kotlin、Go 的線程和協(xié)程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評論