Spring Framework 6.0正式リリース、5年ぶりのメジャーバージョンアップ。Java 17以降に対応、ネイティブバイナリ化支援機能など
Javaの代表的なフレームワークの1つである「Spring Framework 6.0」が11月18日付けで正式リリースが発表されました。
2017年にリリースされたSpring Framework 5.0以来、5年ぶりのメジャーバージョンアップとなります。
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を用いたアプリケーションも今後は事前コンパイルによるネイティブバイナリ化が一般的になっていくのかもしれません。
参考:オラクル、OpenJDKに静的なネイティブイメージの生成機能を組み込む方針を明らかに。GraalVMのOpenJDKへのコントリビュートで
そのほか、オブザーバビリティの強化、HTTPクライアントを簡単に開発できる機能など、さまざまな新機能の追加が行われています。詳細は「What's New in Spring Framework 6.x」をご覧ください。
あわせて読みたい
「Amazon RDS Blue/Green Deployments」登場。ステージング用データベースの構成、本番DBとの同期、安全な切り替えなど提供
≪前の記事
AWS、Docker Desktop代替となり得る「Finch」をオープンソースで公開。ローカルマシンに仮想環境とコンテナランタイム、ビルドツールなど一式を導入