当前位置: 首页 > news >正文

升级springboot3

坑爹的发版流水线,管天管地,springboot2过了维护期,就催着我们升级。
导致必须上jdk17

记录一下升级需要处理的事情

  • 先升级springboot和cloud,这里定下基调,其他的才好跟着升级
    https://spring.io/projects/spring-boot#learn 看ga版本
    https://spring.io/projects/spring-cloud#learn 这是cloud的,
    干脆来个狠的,springcloud升到当前最新
    https://docs.spring.io/spring-cloud-release/reference/index.html 有对应的springboot版本

Release Train Version: 2023.0.2
Supported Boot Version: 3.2.6

			<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.2.6</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2023.0.2</version><type>pom</type><scope>import</scope></dependency>

springboot的一些要求:
https://docs.spring.io/spring-boot/docs/3.2.6/reference/html/getting-started.html#getting-started

Build Toolversion
Maven3.6.3 or later
Gradle7.x (7.5 or later) and 8.x

容器要求
Servlet Containers
Spring Boot supports the following embedded servlet containers:

NameServlet Version
Tomcat 10.16.0
Jetty 12.06.0
Undertow 2.36.0
  • mybitis-plus 要升级,注意配置可能要调整,分页和@version乐观锁可能需要调整,
 		<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId></dependency>
  • mysql的jdbc换了
		 <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency>
  • 连接池
<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-3-starter -->
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.20</version>
</dependency>
  • Swagger 升级

  • redis配置变化了,多了一个层级

##### redis配置
spring.data.redis.host=192.168.50.101
spring.data.redis.port=6379
spring.data.redis.database=11
spring.data.redis.password=haoxun
spring.data.redis.timeout=5000
spring.data.redis.lettuce.pool.enabled= true
# 连接池最大连接数(使用负值表示没有限制)
spring.data.redis.lettuce.pool.max-active=5
# 连接池中的最大空闲连接
spring.data.redis.lettuce.pool.max-idle=5
# 连接池中的最小空闲连接
spring.data.redis.lettuce.pool.min-idle=1
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.data.redis.lettuce.pool.max-wait=5000
spring.data.redis.lettuce.pool.time-between-eviction-runs=1000
  • servlet-api 升级
 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency>变成了<dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.0.0</version><scope>provided</scope></dependency>

有不少javax的import ,需要换包路径,变成了jakarta

  • Hystrix和Ribbon已过时
    由于Hystrix和Ribbon已停止升级,Hystrix被circuit-breaker(resilience4j或sentinel)取代,
    Ribbon被load-balancer取代。maven类库引用变为:

  • 内置声明式HTTP客户端

http://www.lryc.cn/news/390451.html

相关文章:

  • 视频编解码从H.264到H.266:浅析GB28181安防视频汇聚EasyCVR视频压缩技术
  • vue项目访问 域名/index.html 空页面问题
  • 区块链开发入门:基础概念与实施技术详解
  • Rust破界:前端革新与Vite重构的深度透视(下)
  • Android 解决 “Module was compiled with an incompatible version of Kotlin“ 问题
  • linux nfs的使用
  • eclipse断点调试(用图说话)
  • vue的学习--day2
  • html + css 快速实现订单详情的布局demo
  • 居然这么简单就能实现扫雷游戏!
  • 安装Gitlab+Jenkins
  • php 命令行模式详解
  • Git 基础-创建版本库 git init、添加到暂存区git add、查看状态git status、查看改动git diff
  • Python实现无头浏览器采集应用的反爬虫与反检测功能解析与应对策略
  • 法国工程师IMT联盟 密码学及其应用 2023年期末考试题
  • 魔行观察-AI数据分析-蜜雪冰城
  • 如何在CSS中设置px值
  • 【linux】find命令详解
  • Android音频管理器探索与应用
  • qt QTreeWidget文件管理器拖入应用,从应用拖入文件管理器拷贝
  • Qt中使用MySQL数据库详解,好用的模块类封装
  • C语言实现 人生重生模拟器游戏
  • C语言两个较大数字相加
  • 大数据面试题之Flume
  • js文件的执行和变量初始化缓存
  • 无法定位程序输入点Z9 qt assertPKcS0i于动态链接库F:\code\projects\06_algorithm\main.exe
  • GoLand 2024 for Mac GO语言集成开发工具环境
  • Protocol Buffer 基础(c++)
  • 上位机网络通讯
  • 转让5000万无区域能源公司要求和流程