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

领导让你从springboot2.X升级到springboot3.X 这篇文章就够了

这篇文章主要是讲解springboot3.X的升级思路和常见问题的解决方法,包含但不限于: 1、升级springboot3.X的依赖管理2、升级springboot3.X的配置文件3、升级springboot3.X的代码。
其中也涉及到一些依赖版本的替换和配置信息更改方法。

1、切换JDK版本为17及以上

官网下载地址:

https://www.oracle.com/java/technologies/downloads/#java21

配置IDEA的JDk版本

在IDEA中打开项目,点击File -> Settings -> Project Structure -> Project -> JDK,选择你下载的JDK版本。

配置pom文件的版本
<properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><java.version>21</java.version></properties>

2、升级springboot3.X

升级springboot3.X的依赖管理
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.15</version><relativePath/><!-- lookup parent from repository --></parent>

3、切换Maven版本为3.9.1及以上

官网下载地址:

https://maven.apache.org/download.cgi

配置IDEA的Maven版本

在IDEA中打开项目,点击File -> Settings -> Project Structure -> Project -> Maven,选择你下载的Maven版本。

4、切换Mysql版本为8.0及以上

官网下载地址:

https://dev.mysql.com/downloads/mysql/

切换Druid数据源为HikariCP-依赖配置
<dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>${HikariCP.version}</version></dependency>
YML配置
spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghaiusername:rootpassword:roothikari:# 最小空闲连接minimum-idle:5# 最大连接池数量(生产建议10-30,根据DB配置调整)maximum-pool-size:20# 从池获取连接等待超时 毫秒connection-timeout:30000# 连接空闲多久释放 毫秒(小于mysql wait_timeout,mysql默认8小时,这里设300000=5分钟)idle-timeout:300000# 连接生命周期,强制回收,避免无效长连接max-lifetime:1800000# 测试连接有效性的SQLconnection-test-query:SELECT 1# 池名称,日志区分pool-name:HikariPool-DB

4、lombok注解版本切换为1.18.30

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version><scope>provided</scope></dependency>

5、fastjson更改成fastjson2

<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.48</version></dependency>
代码更改常见问题
fastjson语法importcom.alibaba.fastjson.JSONObject
fastjson2语法importcom.alibaba.fastjson2.JSONObject
fastjson语法JSONObject.parseArray()
fastjson2语法JSON.parseArray()

6、httpclient4更改成httpclient5

<dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>5.6.1</version></dependency>
代码更改常见问题
4.x语法importorg.apache.http.
5.x语法importorg.apache.hc.client5.http.
4.x语法 builder.setRetryHandler(newDefaultHttpRequestRetryHandler(3,true))
5.x语法 builder.setRetryStrategy(newDefaultHttpRequestRetryStrategy(3,TimeValue.ofSeconds(1)));
4.x语法RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(10000).setConnectionRequestTimeout(3000).build();
5.x语法importorg.apache.hc.core5.util.Timeout;RequestConfig.custom().setConnectTimeout(Timeout.ofMilliseconds(5000))// setSocketTimeout 废弃 → setResponseTimeout.setResponseTimeout(Timeout.ofMilliseconds(10000)).setConnectionRequestTimeout(Timeout.ofMilliseconds(3000)).build();

7、其他常见切换

比如:swagger切换内置的openapi规范;hystrix切换为内置的Resilience4j等等。

http://www.jsqmd.com/news/1077863/

相关文章:

  • 2026软件测试高频面试题
  • 浏览器资源嗅探扩展深度解析:猫抓的技术架构与实战应用完全指南
  • Claude Mythos:首个通过32步真实攻防链的通用大模型
  • 【限时公开】VMware官方未文档化的开发加速技巧:CPU热添加、GPU直通调试、内存压缩调优——仅剩3个内网测试镜像可下载
  • 为什么“无数据训练的自指AI“是下一个十万亿市场——从符号AI到宇宙演化,那件“礼物“一直在我们手里,只是视而不见
  • 论文写作黑科技!常用的AI写作辅助软件,框架搭建零压力
  • AI Agent 长对话管理:上下文窗口溢出的工程解法
  • ISO26262 功能安全考试---历年真题(四)
  • MLMC梯度估计器:破解高成本随机优化难题的多层级加速技术
  • PHP变量覆盖漏洞实战:从原理到EDR后台渗透测试案例
  • 告别网盘限速!免费浏览器插件实现高速下载的完整指南
  • AI编排实战:MuleSoft+LangChain双引擎架构设计
  • Transformer实操手记:手写QKV、调试FFN、看懂位置编码
  • PN7462时钟与电源管理:从寄存器配置到嵌入式系统稳定实战
  • 【JAVA毕设源码分享】springboot基于B_S架构的光迹摄影跟拍预约系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • AI优化思维的隐性陷阱:当技术可行性覆盖价值质疑
  • 人形机器人设计正在向仿真器低头!40年机器人从业老兵发出警告
  • Hermes 轻量化整合部署包上手教程 不用配置环境直接运行本地 AI
  • 做了 6 年竞价代运营,说实话软件行业才是投竞价的黄金赛道
  • 深度学习模型部署:从 PyTorch 到 ONNX Runtime 的推理加速路径
  • AI 协作平台的架构抉择:多 Agent 协同、上下文管理与工程落地
  • STM32单片机红外避障智能车锂电池充电系统107-1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_可以扫码
  • 机器学习半熟手的实战重构:从信用卡欺诈检测学起
  • STM32单片机超声波避障智能车锂电池充电系统108-1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_可以扫码
  • 塞尔达传说旷野之息存档编辑器的终极指南:快速修改卢比、武器和属性
  • DSM 7.2+系统媒体中心架构解析与Video Station功能恢复技术实践
  • D2DX:如何让经典暗黑破坏神2在现代PC上重获新生?
  • 高并发 AI 工作流:基于 Go 语言并发栅栏的并行任务控制实践
  • 7B开源模型如何在工业客服场景超越GPT-4
  • 彻底掌握你的数字记忆:WeChatMsg开源工具完全指南