VMwareは、Spring Boot 2.7.0をリリースした。これは2.xシリーズの最新かつ最後のブランチである。2022年11月に予定されているSpring Boot 3.0が次のバージョンになる。
この最新バージョンのSpring Bootに含まれる機能には、Spring for GraphQL 1.0のサポート、Podmanコンテナエンジンのサポート、Cache2k向けの依存関係管理と自動構成、ElasticSearchとCouchBase向けの新しいテストアノテーションがある。Podmanコンテナエンジンは、クラウドネイティブビルドパックを使ってイメージをビルドする際のDockerエンジンの代替である。
また、JavaInfoContributor
クラスとOsInfoContributor
クラスが改善された。Infoエンドポイントの下で、Javaバージョン、ベンダー、ベースのOSに関する詳細情報をそれぞれ公開できるようになった。
プロジェクトにカスタム自動設定が含まれている場合、登録をspring.factoriesからMETA-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.importsという名称の新しいファイルに移動する必要がある。
新たに@AutoConfigurationアノテーションが導入された。上記で参照されている新しいファイルに一覧化されるトップレベルの自動設定クラスにこのアノテーションを付ける必要がある。
Spring Boot 2.7は、さまざまなSpringプロジェクトの新バージョンに移行する。例えば、Spring Data 2021.2やSpring Security 5.7などである。また、Infinispan 13、Micrometer 1.9、Elasticsearch 7.17、H2 2.1、Flyway 8.5など、サードパーティの依存関係の多くが更新された。
Spring for GraphQLを使ってクライアントとサーバの設定をすることができる。設定のために、新しいSpring Bootスターターと、API用のオープンソースのデータクエリと操作言語を使うことができる。詳細については、この詳細なInfoQニュース記事をご覧ください。
Spring Boot 2.xは2018年に初リリースされた。簡単なデプロイ、最小限の設定、さまざまなユースケースに適応する機能のおかげで、年々人気を得ていった。最近のJRebelの調査によると、これは現在Javaで最も人気のあるフレームワークである。
Spring Boot 2.5はOSSサポート期間の終了に達したが、商用サポートは2023年8月まで引き続き受けることができる。
Spring Boot 3.0はSpring Framework 6.0をベースとした次のメジャーリビジョンであり、Java 17以降が必要となる。また、従来のJava EE 8 API(javax.*
namespace)でなく、Jakarta EE 9 API(jakarta.*
namespace)を使うSpring Bootの最初のバージョンとなる。プロジェクトで使われるすべてのライブラリは新たな派生バージョンと互換性を維持する必要があるため、これは重大な変更である。Springは段階的に移行することを提案しているため(例:2.5 >> 2.6 >> 2.7)、3.0に移行する前に2.7にアップグレードすることをお勧めする。
Spring Boot 3.0は、Spring NativeによるAOT(事前)コンパイルとネイティブ実行ファイルもサポートする。