旧版本升级springBoot3备忘
基础依赖升级
- 项目从
java8升级到java17 springboot升级到3.x, 比如最新的3.5.13 spring升级到6.x, 比如6.2.17, - 如果使用了
springBoot的bom依赖管理,springSecurity会自动升级至6.5.9
编译型适配
- 所有的
javax.servlet修改为 jakarta.servlet; - 所有的
javax.annotation 修改为 jakarta.annotation springSecurity的SecurityFilterChain过滤链构造过程的修改

springSecurity的授权相关功能的重构,voter,AccessDecisionManager等特性去除,由authorizationFilter以及authorizationManager实现

- 部分spring的接口参数变更,根据提示修改即可(不多)
功能型适配
- 老版本的
spring.factories全部修改为新版本的 spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports - 开启循环依赖支持,添加配置项:
spring.main.allow-circular-references=true - 升级三方依赖,所有带有spring-boot功能的都需要升级;
druid-springboot升级至:druid-spring-boot-3-starter:1.2.28 - mybatis-plus-spring-boot升级至:
mybatis-plus-spring-boot3-starter:3.5.16,并处理下兼容性问题
- 升级三方依赖组件(如果有)
springCloud升级至4.3.1;springCloudAlibaba升级至2025.0.0.0,sentinel升级至1.8.7, dubbo升级至3.2.10
- spring6升级了cors校验,不允许使用crossOrigins为*, 需要配置crossOriginPattern为*;
启动验证
springboot4升级备忘
- springboot4目前绝大部分三方库尚未适配,即使应用适配了也无法正常启动。
- 与springboot3差异比较小;