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

SpringBoot版本升級(jí)容易遇到的一些問(wèn)題

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

背景:由于項(xiàng)目需求,需要將nacos 1.4.6版本升級(jí)到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版本說(shuō)明網(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升級(jí)為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)。作為最后的手段,可以通過(guò)將 spring.main.allow-circular-references 設(shè)置為 true 來(lái)自動(dòng)中斷循環(huán)。

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

spring:
  main:
    allow-circular-references:true

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

springboot升級(jí)為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、跨域問(wèn)題

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

在這里插入圖片描述

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

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

跨越修改

4、版本依賴排除

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

依賴版本信息

5、Druid的一個(gè)bug

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

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

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

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

相關(guān)文章

  • 淺析SpringBoot自動(dòng)化配置原理實(shí)現(xiàn)

    淺析SpringBoot自動(dòng)化配置原理實(shí)現(xiàn)

    這篇文章主要介紹了淺析SpringBoot自動(dòng)化配置原理實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • MyBatis中常用的SQL語(yǔ)句詳解

    MyBatis中常用的SQL語(yǔ)句詳解

    MyBatis是一種優(yōu)秀的持久層框架,它支持定制化SQL、存儲(chǔ)過(guò)程以及高級(jí)映射,本文介紹了MyBatis中常用的SQL語(yǔ)句,包括基本查詢、多條件查詢、關(guān)聯(lián)查詢、分頁(yè)查詢、插入、更新、刪除等,并結(jié)合MyBatis的特性進(jìn)行了說(shuō)明
    2025-03-03
  • SpringBoot整合Netty實(shí)現(xiàn)WebSocket的示例代碼

    SpringBoot整合Netty實(shí)現(xiàn)WebSocket的示例代碼

    本文主要介紹了SpringBoot整合Netty實(shí)現(xiàn)WebSocket的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • jvm垃圾回收之GC調(diào)優(yōu)工具分析詳解

    jvm垃圾回收之GC調(diào)優(yōu)工具分析詳解

    這篇文章主要為大家介紹了jvm垃圾回收之GC調(diào)優(yōu)工具的分析詳解,在進(jìn)行JVM?GC性能調(diào)優(yōu)之前,需要使用某些工具獲取到當(dāng)前應(yīng)用的狀態(tài)信息
    2022-01-01
  • IDEA2020.2.3

    IDEA2020.2.3 "reading maven projects"卡住的問(wèn)題

    這篇文章主要介紹了IDEA2020.2.3 "reading maven projects"卡住的問(wèn)題及問(wèn)題原因探究,通過(guò)多種方法給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-10-10
  • MyBatis帶參查詢的方法詳解

    MyBatis帶參查詢的方法詳解

    這篇文章主要介紹了MyBatis帶參查詢的方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java中的關(guān)鍵字volatile詳解

    Java中的關(guān)鍵字volatile詳解

    這篇文章主要介紹了Java中的關(guān)鍵字volatile,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • idea如何快速查找一個(gè)類或類中方法名和變量

    idea如何快速查找一個(gè)類或類中方法名和變量

    這篇文章主要介紹了idea如何快速查找一個(gè)類或類中方法名和變量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 基于@AllArgsConstructor與@Value共用的問(wèn)題解決

    基于@AllArgsConstructor與@Value共用的問(wèn)題解決

    這篇文章主要介紹了基于@AllArgsConstructor與@Value共用的問(wèn)題解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java開(kāi)發(fā)常見(jiàn)異常及解決辦法詳解

    Java開(kāi)發(fā)常見(jiàn)異常及解決辦法詳解

    這篇文章主要介紹了java程序常見(jiàn)異常及處理匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09

最新評(píng)論