关于 spring-boot-migration
spring-boot-migration 是供团队将应用从 Spring Boot 3 升级到 4 的分阶段手册。它要求将框架升级与行为变更分开,并涵盖依赖、运行时和契约检查。
主要功能
- 01建立经过测试的 Boot 3.5 基线
- 02准备 Java 与 Jakarta API 要求
- 03审查依赖和模块化 Starter
- 04盘点 Jackson 与测试配置变更
- 05验证配置文件、迁移和运行时行为
- 06移除临时迁移工具
适用场景
- 01规划 Spring Boot 3 到 4 的分阶段升级
- 02查找依赖和 Starter 的变化
- 03验证迁移后的应用行为
- 04检查迁移计划中的常见升级风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rrezartprebreza/ spring-boot-skills --skill spring-boot-migration安装后在 Claude Code 中输入/spring-boot-migration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlexamples/bad-migration-plan.mdgood-migration-plan.md详细介绍
Spring Boot 3 到 4 的迁移
分阶段、有控制地迁移。将行为变更与框架升级分开处理。
建立基线
- 升级到最新的 Boot 3.5 维护版本。
- 在更改主版本之前,运行单元测试、切片测试、集成测试、启动测试和迁移测试。
- 移除 Boot 3 弃用项,并记录所有显式指定版本的依赖项。
- 对比 Boot 3.5 和 Boot 4 的依赖管理报告。
- 单独验证 Spring Cloud 和其他技术栈发布列车的兼容性。
为 Boot 4 做准备
- 要求 Java 17 或更高版本;构建应用时优先使用 Java 21。
- 升级之前,先将残留的
javax.*替换为 Jakarta API。 - 移除对 Undertow 的假设;Boot 4 要求使用兼容 Servlet 6.1 的容器。
- 梳理 Jackson 2 自定义模块、序列化器、
ObjectMapperBean 和包导入。 - 梳理测试注解,尤其是
@MockBean、@SpyBean和隐式 MockMvc 设置。 - 更改 Boot 版本后,临时添加
spring-boot-properties-migrator,然后将其移除。
有计划地迁移依赖项
Boot 4 的模块化程度更高。优先使用专用 starter,不要依赖偶然引入的传递依赖。 预计会有专用于 Web MVC、安全测试、Flyway/Liquibase 和特定技术测试的 starter。 经典 starter 只能用作临时诊断桥接,不能作为最终依赖模型。
验证结果
- 使用所有受支持的配置文件运行应用。
- 使用类似生产环境的数据库副本执行架构迁移。
- 验证 JSON 契约、安全错误、分页和错误响应。
- 确认 Actuator 暴露、日志记录、指标和跟踪行为。
- 在宣布迁移完成之前,移除属性迁移器和所有经典 starter。
示例
- 查看
examples/good-migration-plan.md,了解分阶段迁移。 - 查看
examples/bad-migration-plan.md,了解风险较高的一步式升级。
注意事项
- Agent 从较旧的 Boot 3 次要版本直接跳到 Boot 4——先升级到当前的 3.5 版本。
- Agent 同时更改框架版本和业务行为——隔离迁移差异。
- Agent 假设所有 Boot 3 starter 的名称和传递依赖都保持不变——逐一审查。
- Agent 将
spring-boot-properties-migrator留在生产环境中——清理配置后将其移除。 - Agent 将编译通过视为迁移完成——验证运行时装配、JSON、安全和测试。
评论
支持 Markdown