spring-boot-migration について
spring-boot-migrationは、Spring Boot 3から4へアプリケーションを段階的にアップグレードするチーム向けの手引きです。フレームワーク変更と動作変更を分離し、依存関係、実行時、契約を確認します。
主な機能
- 01テスト済みのBoot 3.5ベースラインを確立
- 02JavaとJakarta APIの要件に備える
- 03依存関係とモジュール型スターターを監査
- 04Jacksonとテスト設定の変更点を整理
- 05プロファイル、マイグレーション、実行時動作を検証
- 06一時的な移行ツールを削除
活用シーン
- 01Spring Boot 3から4への段階的な更新を計画
- 02依存関係やスターターの変更を特定
- 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 はよりモジュール化されています。偶発的な推移的依存関係に頼らず、専用のスターターを優先してください。 Web MVC、セキュリティテスト、Flyway/Liquibase、技術別テスト向けの専用スターターが用意される予定です。 従来のスターターは一時的な診断用の橋渡しとしてのみ使用し、最終的な依存関係モデルには含めないでください。
結果を検証する
- サポート対象のすべてのプロファイルでアプリケーションを実行します。
- 本番環境に近いデータベースのコピーを使って、スキーマ移行を実行します。
- JSON コントラクト、セキュリティエラー、ページネーション、エラーレスポンスを検証します。
- Actuator の公開設定、ログ、メトリクス、トレースの動作を確認します。
- 移行完了を宣言する前に、properties migrator とすべての従来のスターターを削除します。
例
- 段階的な移行については
examples/good-migration-plan.mdを参照してください。 - リスクの高い一段階でのアップグレードについては
examples/bad-migration-plan.mdを参照してください。
注意点
- エージェントが古い Boot 3 のマイナーバージョンから直接 Boot 4 に移行する — まず最新の 3.5 にアップグレードしてください。
- エージェントがフレームワークのバージョンとビジネス動作を同時に変更する — 移行差分を切り分けてください。
- エージェントが Boot 3 のスターターはすべて名称と推移的依存関係を維持すると想定する — 各スターターを監査してください。
- エージェントが本番環境に
spring-boot-properties-migratorを残す — 設定を整理した後に削除してください。 - エージェントがコンパイルの成功を完了とみなす — 実行時の配線、JSON、セキュリティ、テストを検証してください。
コメント
Markdown 対応