Spring Boot のリリース履歴と Spring Framework の版の対応
この記事の目次
Spring Boot と Spring Framework は、異なる版番号を持つ別のプロジェクトです。Boot は Framework に自動設定、依存管理、実行可能なパッケージ化を加えます。Boot 3.1 を Framework 6.1 と読むのは不確実なので、選んだ Boot の BOM と解決済み依存グラフを確認します。
処理の流れ
図はリリース年表ではなく依存確認を示します。Boot、Framework、Lombok は、それぞれ版と依存設定が別です。
主な正式リリースの変更
この年表はすべてのリリースではなく機能の変化を示します。最初の正式版と、その後のパッチで拡大された JDK 対応を区別します。
| Spring Boot | 最初の正式版 | 主な変更と公式発表 |
|---|---|---|
| 1.2 | 2014-12-11 | @SpringBootApplication と Servlet 3.1 対応 |
| 1.3 | 2015-11-16 | DevTools、キャッシュ自動設定、直接実行可能な JAR |
| 1.4 | 2016-07-28 | 起動失敗分析とテスト支援の改善 |
| 2.0 | 2018-03-01 | Framework 5.0、Java 8 基準、リアクティブ Web 対応 |
| 3.0 | 2022-11-24 | Framework 6.0、Java 17 基準、Jakarta、ネイティブイメージ |
| 3.1 | 2023-05-18 | 開発時の Testcontainers と Docker Compose 統合 |
| 3.2 | 2023-11-23 | 仮想スレッド、RestClient、JdbcClient 対応 |
| 4.0 | 2025-11-20 | Framework 7、モジュール化、JSpecify、API バージョニング |
たとえば Boot 3.1.0 の管理依存一覧は spring-core 6.0.9 を指定します。Boot と Framework のマイナー番号が一致する必要はありません。Boot 2.4 を存在しない Framework 5.4 系列へ対応させるのも誤りです。
Starter、BOM、ビルドプラグイン
Starter は機能に必要な依存をまとめます。BOM は版を管理し、一覧の全ライブラリを自動でプロジェクトに追加はしません。Boot のビルドプラグインは bootRun などのタスクと実行可能 JAR の作成を提供します。
Gradle 向けの Boot 依存管理ガイドは依存管理プラグインとネイティブ BOM 対応を説明します。Boot プラグインの適用だけで全 Gradle 設定が版なしの依存を受け付けるとは限りません。注釈プロセッサーなど別の設定も確認します。
プロジェクトの実際の版を調べる
Initializr と Lombok ガイドの完成したプロジェクトで次を実行します。
./gradlew dependencyInsight --configuration runtimeClasspath --dependency spring-core
./gradlew dependencyInsight --configuration annotationProcessor --dependency lombok
ローカルの例は Boot 4.1.2、spring-core 7.0.10、Lombok 1.18.48 に解決されます。番号が違うのはプロジェクトが別だからです。dependencyInsight は選択版とその依存経路や規則を示すため、競合調査に役立ちます。これはこの例の記録であり、将来の既定値や全プロジェクト共通の組み合わせではありません。
年表は現在のサポート期間表ではありません。作成や更新時は、選ぶ版の要件、依存互換性、サポート方針を別に確認します。Java 17 と Jakarta の移行で Boot 3 への手順を確認し、ローカル実行は IntelliJ と Gradle の実行確認を参照してください。
コメント