用途:指导把 Spring Boot 3 应用分阶段迁移到 Boot 4,将框架升级与业务行为变更分离,避免一次性大版本跳跃。
主要能力:建立基线(升级到最新 Boot 3.5 维护版,运行单元、切片、集成、启动与迁移测试,移除 Boot 3 弃用项,记录显式版本依赖,对比 3.5 与 4 的依赖管理报告,独立验证 Spring Cloud 等发布列车兼容性);准备 Boot 4(要求 Java 17 或更高,应用构建优先 Java 21,替换 javax.* 为 Jakarta API,移除 Undertow 假设,Boot 4 需 Servlet 6.1 兼容容器,盘点 Jackson 2 自定义模块、序列化器、ObjectMapper bean 与包导入,盘点测试注解尤其是 @MockBean、@SpyBean 与隐式 MockMvc 设置,改版本后临时加入 spring-boot-properties-migrator 再移除);依赖迁移(Boot 4 更模块化,优先专用 starter 而非依赖偶然传递依赖,web MVC、安全测试、Flyway/Liquibase 及技术特定测试均有专用 starter,classic starter 仅作临时诊断桥接);结果验证(用所有受支持 profile 运行应用,对类生产数据库副本演练 schema 迁移,验证 JSON 契约、安全失败、分页与错误响应,确认 actuator 暴露、日志、指标与追踪行为,完成前移除 properties migrator 与所有 classic starter)。
使用方式:按上述阶段执行,参考 examples/good-migration-plan.md 的分阶段迁移与 examples/bad-migration-plan.md 的风险示例。
限制与注意:不要从旧 Boot 3 小版本直接跳到 Boot 4;不要同时改框架版本与业务行为;不要假设所有 Boot 3 starter 名称与传递依赖不变;不要把 properties migrator 留在生产;编译通过不等于迁移完成,需验证运行时装配、JSON、安全与测试。具体命令与配置细节资料未提供。