一,背景
Spring开源多年,已经经过了多次的升级迭代,最新的已经到Spring 6了,但是估计大家最常用的还是Spring 2.x。
最近项目准备升级到Spring 3,下面简单记录一下升级的改动点。
二,官方指导
1,Preparing for Spring Boot 3.0
2,Spring Boot 3.0 Release Notes · spring-projects/spring-boot Wiki · GitHub
3,官方 SpringBoot 和 SpringCloud 版本映射表
https://s11.ax1x.com/2024/02/19/pFYCxqH.jpghttps://s11.ax1x.com/2024/02/19/pFYCxqH.jpg
4,SpringCloud Alibaba 版本映射表
https://s11.ax1x.com/2024/02/19/pFYPSZd.jpghttps://s11.ax1x.com/2024/02/19/pFYPSZd.jpg
三,升级修改点
1,基本要求
- JDK 17
- Maven 3.5 以上
2,基础组件列表
- JDK 17
- SpringBoot 3.2.0
- SpringCloud 2023.0.0
- SpringCloud Alibaba 2022.0.0.0
- mybatis-spring 3.0.3
3,去掉额外的引入
- 删除 log4j-api、slf4j-api 依赖,使用默认依赖和版本
- 删除 snakeyaml 版本,使用 spring 内部关联版本
- 移除 mybatis-plus-boot-starter 中依赖的 mybatis-spring 2.1.1 版本,单独引入高版本 mybatis-spring 3.0.3 版本
4,全局修改包名
原 javax.* 库路径调整为 jakarta.*
如:import javax.validation.constraints.NotNull; --> import jakarta.validation.constraints.NotNull;
crypto 加密库依然在 java.base.javax 目录下,全局修改时需要注意,
例如:import javax.crypto.Cipher; 保持不变
5,修改redis的配置
spring.redis 修改为 spring.data.redis, RedisConfig 配置文件同步修改 Value 注解值
配置文件里,把spring.redis.xxx.xxx改成spring.data.redis.xxx.xxx
6,添加mybatis-spring的依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
7,依赖 Springboot 配置迁移包
根据启动时提示信息调整对应配置项,调整完之后可以删除这个依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
记得点赞关注哟