Spring Framework 6.0正式リリース、5年ぶりのメジャーバージョンアップ。Java 17以降に対応、ネイティブバイナリ化支援機能など

Javaの代表的なフレームワークの1つである「Spring Framework 6.0」が11月18日付けで正式リリースが発表されました

2017年にリリースされたSpring Framework 5.0以来、5年ぶりのメジャーバージョンアップとなります。

fig

Spring Framework 6.0ではベースラインがJava 17以降となり、Java 19でプレビューとなった仮想スレッド機能もプレビューとして取り入れられています

Jakarta EE 9で行われたjakarta.*のパッケージ名称変更に対応し、Servlet 6.0やJPA 3.1などJakarta EE 10のAPIにフォーカスしたことで、Tomcat 10.1などの最新のWebコンテナやHibernate ORM 6.1などの最新の永続化プロバイダにアクセスできるようになりました。

ネイティブバイナリ生成の支援機能も新たにサポートされました

これはもともと、Javaコードからネイティブバイナリを生成する機能を備えたGraal VMの「GraalVM Native Image」機能を用いてSpringアプリケーションをコンパイルしネイティブバイナリ化しようという取り組みの「Spring Native」と呼ばれるプロジェクトをベースにしています。

参考:「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能

ネイティブバイナリ生成の支援機能は、Spring Frameworkを用いたアプリケーションのコードを自動的に変換し、GraalVM Native Image機能によるネイティブバイナリの生成が可能なコードにしてくれるというもの。

GraalVMのネイティブイメージ生成機能は今年(2022年)10月に、OpenJDKコミュニティに寄贈されることが発表されており、今後はJavaの標準的な機能になることが期待されています。Spring Frameworkを用いたアプリケーションも今後は事前コンパイルによるネイティブバイナリ化が一般的になっていくのかもしれません。