mcpField
S
spring-boot-migration

spring-boot-migration

github.com/rrezartprebreza开发33346 次安装2 天前更新
代码仓库

关于 spring-boot-migration

spring-boot-migration 是供团队将应用从 Spring Boot 3 升级到 4 的分阶段手册。它要求将框架升级与行为变更分开,并涵盖依赖、运行时和契约检查。

主要功能

  1. 01建立经过测试的 Boot 3.5 基线
  2. 02准备 Java 与 Jakarta API 要求
  3. 03审查依赖和模块化 Starter
  4. 04盘点 Jackson 与测试配置变更
  5. 05验证配置文件、迁移和运行时行为
  6. 06移除临时迁移工具

适用场景

  1. 01规划 Spring Boot 3 到 4 的分阶段升级
  2. 02查找依赖和 Starter 的变化
  3. 03验证迁移后的应用行为
  4. 04检查迁移计划中的常见升级风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rrezartprebreza/spring-boot-skills --skill spring-boot-migration

安装后在 Claude Code 中输入/spring-boot-migration确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
examples/
bad-migration-plan.md
good-migration-plan.md

详细介绍

Spring Boot 3 到 4 的迁移

分阶段、有控制地迁移。将行为变更与框架升级分开处理。

建立基线

  1. 升级到最新的 Boot 3.5 维护版本。
  2. 在更改主版本之前,运行单元测试、切片测试、集成测试、启动测试和迁移测试。
  3. 移除 Boot 3 弃用项,并记录所有显式指定版本的依赖项。
  4. 对比 Boot 3.5 和 Boot 4 的依赖管理报告。
  5. 单独验证 Spring Cloud 和其他技术栈发布列车的兼容性。

为 Boot 4 做准备

  • 要求 Java 17 或更高版本;构建应用时优先使用 Java 21。
  • 升级之前,先将残留的 javax.* 替换为 Jakarta API。
  • 移除对 Undertow 的假设;Boot 4 要求使用兼容 Servlet 6.1 的容器。
  • 梳理 Jackson 2 自定义模块、序列化器、ObjectMapper Bean 和包导入。
  • 梳理测试注解,尤其是 @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