Spring Boot 4とは?最新バージョン4.1の変更点・新機能とSpring Boot 3との違いを解説【2026年最新】
Spring Bootはバージョンアップのたびに基盤となるJavaやSpring Frameworkが更新され、対応バージョンや推奨環境が変わります。この記事では「いま使うべき最新バージョンはどれか」を起点に、Spring Boot 4で何が変わったのか、最新の4.1で追加された機能、そしてSpring Boot 3との違いと移行時の注意点、対応Javaなどのシステム要件までを、2026年6月時点の情報で整理します。
目次
まとめ(結論)
- 最新の安定版はSpring Boot 4.1.0(2026年6月10日リリース)。4.0系の最新パッチは4.0.7です。新規開発は4系を選ぶのが基本です。
- Spring Boot 4は「世代交代」級の大型刷新。Spring Framework 7・Jakarta EE 11を基盤に、コードベースのモジュール化、REST APIバージョニング、JSpecifyによるNull安全性、Jackson 3デフォルト化などが入りました。
- 対応Javaは最低17・推奨21以上。Java 25に正式対応し、Java 26まで動作します。
- Spring BootにLTS(長期サポート版)の指定はありません。各マイナーは半年ごとに登場し、OSSサポートは原則12か月です。
- Spring Boot 3.5のOSSサポートは2026年6月30日で終了、3.4は終了済み。3系を使っている場合は4系への移行を計画する時期です。
以下では、これらの結論の根拠を「最新バージョン」「4の変更点」「4.1の新機能」「3からの移行」「システム要件」の順に詳しく見ていきます。
Spring Bootの最新バージョンは?(2026年6月時点)
2026年6月時点のSpring Bootの最新安定版は4.1.0で、2026年6月10日にリリースされました。同日に4.0系の最新パッチである4.0.7も公開されています。なお4.0系は2025年11月20日にメジャーアップデートとして登場した4.0.0が起点で、その後パッチを重ね、最新は4.1.0と同日(6月10日)リリースの4.0.7です。新規にアプリを作る場合は、最新機能とサポート期間の長さの観点から4.1系を選ぶのが基本です。
| バージョン | リリース | OSSサポート期限 | 位置づけ |
|---|---|---|---|
| 4.1.0 | 2026/6/10 | 2027/7/31 | 最新安定版 |
| 4.0.7 | 2026/6/10 | 2026/12/31 | 4.0系の最新パッチ |
| 3.5.x | — | 2026/6/30 | まもなくOSS終了 |
| 3.4.x | — | 終了済み | EOL(2025/12/31) |
バージョン体系とリリースサイクル:半年ごと・OSS約12か月
Spring Bootは半年ごとに新しいマイナーバージョン(4.0、4.1…)をリリースし、各マイナーには無償のOSSサポートが原則12か月提供されます。サポート期間中は月次程度でパッチ(4.1.1など)が公開され、セキュリティ修正や依存ライブラリの更新が行われます。重要な点として、Spring Bootは特定のバージョンを「LTS(長期サポート)」として指定していません。Javaのように「LTS版を長く使う」運用ではなく、半年ごとに最新マイナーへ追従していくのが基本的な考え方です。OSSサポート終了後も使い続けたい場合は、第三者の延長サポートを利用する選択肢があります。
各バージョンのサポート期限
主要な分岐のサポート期限は次のとおりです。最新の4.1.0は2027年7月31日まで、4.0は2026年12月31日まで。一方、3系では3.5のOSSサポートが2026年6月30日に終了し、3.4はすでにEOL(2025年12月31日に終了)です。3系を運用している場合は、サポート切れ前に4系へ移行する計画を立てておくと安全です。
Spring Boot 4で何が変わった?主要な変更点・新機能(4.0)
Spring Boot 4.0は、3.0でのJakarta EE移行以来となる構造的な大型リリースです。基盤の刷新から開発体験の改善、破壊的変更まで幅が広いため、ここでは押さえておくべきポイントを項目ごとに解説します。
基盤の刷新:Spring Framework 7 / Jakarta EE 11 / Servlet 6.1
Spring Boot 4はSpring Framework 7を基盤とし、Jakarta EE 11に準拠します。これに伴い必要なサーブレットコンテナの仕様もServlet 6.1以上へ引き上げられました。組み込みのTomcatやJettyはこの基準に合わせて更新されており、古いServlet 5世代のコンテナでは動作しません。3.0で経験した「javaxからjakartaへの全面置換」のような名前空間の大移行はありませんが、基盤一式(Spring Security 7やHibernate 7系などを含む)が同時に上がるため、アップグレードの影響範囲はバージョン番号の見た目以上に広い点に注意が必要です。
対応Javaバージョン:最低17・推奨21以上・25対応
Spring Boot 4の最低要件はJava 17で、これは3系から据え置きです。ただし仮想スレッド(Virtual Threads)などの言語機能を活かすため、Java 21以上が推奨されます。さらに2025年9月にLTSとして登場したJava 25に正式対応し、最新のJava 26まで動作します。Javaのバージョン選定で迷う場合の全体像は、Java 21からJava 25へのアップデート概要もあわせて参考にしてください。
コードベースのモジュール化:起動とデプロイの軽量化
従来は自動構成(Auto Configuration)が大きな単一のJarにまとまっていましたが、Spring Boot 4ではコードベースが多数の小さなモジュールへ分割されました。Web用・データアクセス用といった用途ごとにモジュールとスターターが分かれ、必要なものだけを取り込めるようになっています。これにより不要なクラスの読み込みが減り、起動の高速化やデプロイサイズの削減、GraalVMネイティブイメージとの相性向上が期待できます。段階的に移行したい場合は、従来どおり一式をまとめて導入できる「classic starter POM」を使う方法も用意されています。
REST APIバージョニングとHTTPクライアントの強化
Spring MVCとWebFluxの両方で、APIのバージョン管理が公式機能としてサポートされました。URLパスやリクエストヘッダ、メディアタイプなどに基づいてエンドポイントのバージョンを指定でき、複数バージョンのAPIを並行提供しやすくなっています。あわせて、宣言的に外部APIを呼び出すHTTPインタフェースクライアントが整備されました。なお従来のRestTemplateやRestClientのクラス自体は存続しますが、自動構成されるRestTemplateBuilderが専用モジュール(spring-boot-starter-restclient)へ分離されました。引き続き利用する場合は、このスターターを明示的に追加する必要があります。各種アノテーションの役割を整理したい場合は、Spring Bootの主要なアノテーション一覧と基本的な役割が参考になります。
Null安全性の強化:JSpecify対応
Spring Boot 4(およびSpring Framework 7)では、Null安全性の注釈標準としてJSpecifyに対応しました。フレームワーク全体でnullを許容するか否かが明示されるため、IDEの警告やKotlinとの連携を通じて、ヌル参照に起因する不具合を未然に防ぎやすくなります。KotlinでSpringを利用しているチームでは、移行時にこのNull注釈によって新たな警告が出ることがあるため、事前の確認をおすすめします。
耐障害性の強化:リトライと同時実行制限
リトライ(再試行)や同時実行数の制限といった耐障害性の機能が、フレームワーク標準として利用できるようになりました。これまで別ライブラリだったspring-retryへの依存は不要になり、Spring本体のリトライ機能で再試行やバックオフを記述できます。あわせて同時実行を制限する仕組みも提供され、リクエストが集中した際の過負荷を抑えてシステムの安定性を保てます。これらはJava 21以降の仮想スレッドと組み合わせても有効です。
Jackson 3の採用と破壊的変更(Undertow・JUnit 4など)
JSON処理ライブラリはJackson 3がデフォルトになり、従来のJackson 2系は非推奨となりました。Jackson 3ではパッケージ名前空間が変わるなど互換性のない変更があるため、独自のシリアライザを実装している場合などはコード修正が必要になることがあります。Jacksonそのものの基礎は、Jacksonライブラリを導入する方法と初期設定の手順についても参考にしてください。このほか破壊的変更として、Servlet 6.1に非対応のUndertowが組み込みサーバーの選択肢から削除(TomcatまたはJettyへ切り替えが必要)、JUnit 4サポートの完全廃止、3系で非推奨だったAPIの一斉整理などが行われています。
Spring Boot 4.1の新機能(2026年6月)
2026年6月10日にリリースされた4.1.0は、4.0の安定化(4.0.7相当の修正を含む)に加えて、いくつかの実用的な機能を追加しています。主な追加・強化点は次のとおりです。
- Spring gRPCサポート:サーバー/クライアント/テスト用の専用モジュールが用意され、gRPCを使ったサービス間通信を組み込みやすくなりました。gRPCの基礎はgRPCの基本的な概要とプロトコルについての理解を参照してください。
- オブザーバビリティの刷新:OpenTelemetry連携を中心に、計測まわりが大きく見直されました。
- セキュリティ強化:HTTPクライアントのSSRF対策として、接続先IPを検査するInetAddressFilterが追加されました。
- Jackson設定の拡充:Jacksonの設定プロパティやカスタマイズ手段が更新されました。
- その他:Log4jのログファイルローテーション対応、JDBC接続の遅延取得、Redisメッセージリスナーの自動構成などが追加されています。
一方で4.1では、4.0で非推奨化されていたクラス・メソッドが削除されたほか、提供元プロジェクトが終了したApache Derby連携が非推奨化、旧来のlayertools jarモードが削除されています。4.0から4.1へ上げる際は、非推奨APIを呼び出していないかを事前に確認しておきましょう。
Spring Boot 3から4へ移行する際の注意点
3系から4系への移行は、3.0のときの「javaxからjakartaへの全面移行」ほどの大工事ではありません。とはいえ基盤一式が同時に上がるため、次の破壊的変更は事前にチェックしておくと安全です。各バージョンのサポート期限や移行の進め方の全体像はSpring Bootのバージョン一覧とサポート期限|最新版と選び方もあわせて確認してください。
- Jackson 3への移行:Jackson 2前提のコードや独自シリアライザは見直しが必要。
- Undertowの削除:Undertowを使っていた場合はTomcatかJettyへ変更。
- JUnit 4の廃止:JUnit 4依存のテストはJUnit 5へ移行。
- Spring Security 7:CSRFまわりのデフォルトが変わり、設定によってはREST APIの挙動に影響する場合があるため要確認。
- Kotlin / ネイティブイメージ:Kotlin利用時はKotlin 2.2以上、GraalVMネイティブイメージ利用時はnative-image 25以上が必要。
- 移行手順:2.x系から上げる場合は、いったん3.5系に移行してから4系へ進むのが安全。一括導入したい場合はclassic starter POMを使うと段階的に移行しやすい。
ビルドファイルでバージョンを指定する場合の最小例は次のとおりです(最新のパッチ番号は公式リリースノートで確認してください)。Mavenではspring-boot-starter-parentのバージョンを指定します。
<!-- Maven: pom.xml -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>4.1.0</version>
</parent>
Gradleではorg.springframework.bootプラグインのバージョンを指定します。
// Gradle: build.gradle
plugins {
id 'org.springframework.boot' version '4.1.0'
}
Spring Boot 4のシステム要件まとめ
Spring Boot 4を利用する際の主な環境要件を整理すると次のとおりです。古いJavaやServlet 5世代のコンテナでは動作しないため、移行前に各要件を満たしているか確認してください。
| 項目 | 要件 |
|---|---|
| 最低Javaバージョン | Java 17 |
| 推奨Javaバージョン | Java 21以上 |
| 対応Java上限 | Java 26 |
| Spring Framework | 7.0以上 |
| Spring Security | 7.0以上 |
| Servlet仕様 | 6.1以上 |
| サーブレットコンテナ | Tomcat 11 / Jetty 12 |
| Kotlin(利用時) | 2.2以上 |
| ビルドツール | Maven / Gradle |
よくある質問(FAQ)
Spring Bootの最新バージョンはどれですか?
2026年6月時点の最新安定版は4.1.0(2026年6月10日リリース)です。4.0系の最新パッチは4.0.7です。
Spring Boot 4に必要なJavaのバージョンは?
最低でJava 17が必要です。推奨はJava 21以上で、Java 25に正式対応し、Java 26まで動作します。
Spring BootにLTS(長期サポート版)はありますか?
ありません。Spring Bootは半年ごとに新しいマイナーをリリースし、各バージョンのOSSサポートは原則12か月です。最新マイナーへ継続的に追従する運用が基本になります。
Spring Boot 3はいつまで使えますか?
3.5のOSSサポートは2026年6月30日で終了し、3.4はすでに終了(2025年12月31日)しています。サポート切れ前に4系へ移行する計画を立てておくと安全です。
Spring Boot 3から4へのアップグレードは大変ですか?
3.0のような名前空間の全面移行はないため、3.5系まで上げてあれば比較的スムーズです。ただしJackson 3への移行、Undertowの削除、JUnit 4の廃止、Spring Security 7のデフォルト変更などは個別に確認が必要です。
Spring Boot 4でUndertowは使えますか?
使えません。UndertowはServlet 6.1に対応していないため、組み込みサーバーの選択肢から削除されました。TomcatまたはJettyへ切り替えてください。