原文はこちら。
The original article was written by Juergen Hoeller (Spring Framework project lead, VMware).
https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga
親愛なるSpringコミュニティの皆さん。
Spring Framework 6.0.0がMaven Centralから一般提供されたことを発表でき嬉しく思います。これは、OpenJDKとJavaエコシステムにおける現在と今後の技術革新を取り入れた、2023年とそれ以降の新しいフレームワーク世代の始まりです。同時に、現代の実行環境向けにSpring Framework 5.3.xからの容易なアップグレード先として慎重に設計されています。
Spring Framework 6.0はコアフレームワークのメジャーリビジョンとして、Java 17+ベースラインを搭載し、Jakarta EE 9+(jakartaネームスペース内)に移行し、Servlet 6.0 や JPA 3.1 など最近リリースされた Jakarta EE 10 APIにフォーカスしています。これにより、Tomcat 10.1などの最新のWebコンテナや、Hibernate ORM 6.1などの最新の永続化プロバイダにアクセスできます。
Apache Tomcat® – Which Version Do I Want?
https://tomcat.apache.org/whichversion.html
6.1 series – Hibernate ORM
https://hibernate.org/orm/releases/6.1/
Java EE 8にこだわらず、jakarta名前空間へ、理想的にはそのままJakarta EE 10レベルへ飛躍しましょう!次期リリースであるSpring Boot 3.0.0には、対応するmanaged dependencyが含まれています。
インフラ的には、6.0はAhead-Of-Time変換の基盤と、Springアプリケーションコンテキストに対応するAOT処理サポートが導入されています。
Initial AOT support in Spring Framework 6.0.0-M3
https://spring.io/blog/2022/03/22/initial-aot-support-in-spring-framework-6-0-0-m3
これにより、Spring Boot 3でGraalVM Native Imageのファーストクラスのサポートが可能になっています。
Native Support in Spring Boot 3.0.0-M5
https://spring.io/blog/2022/09/26/native-support-in-spring-boot-3-0-0-m5
https://logico-jp.io/2022/09/27/native-support-in-spring-boot-3-0-0-m5/
また、Project Loomの仮想スレッドとSpringアプリケーションの組み合わせ(「Embracing Virtual Threads」参照)や、JVM起動の高速化のためのProject CRaCのチェックポイント復元アプローチも試すことができます。
JEP 425: Virtual Threads (Preview)
https://openjdk.org/jeps/425
Embracing Virtual Threads
https://spring.io/blog/2022/10/11/embracing-virtual-threads
CRaC/docs
https://github.com/CRaC/docs
この2つは現時点ではプレビューですが、Spring Framework 6.xベースのアプリケーションの第一級の機能になることが期待されています。
Spring Framework 6.0では、さらに多くの機能や改良が加えられています。例えば、HTTPインターフェースクライアント、RFC 7807の問題詳細のサポート、HTTPクライアントのためのMicrometerベースの観測機能などです。What’s Newページで包括的な概要を確認し、6.0.0をいち早く試してみてください。
Integration
https://docs.spring.io/spring-framework/docs/6.0.0/reference/html/integration.html#rest-http-interface
Web on Servlet Stack
https://docs.spring.io/spring-framework/docs/6.0.0/reference/html/web.html#mvc-ann-rest-exceptions
What’s New in Spring Framework 6.x
https://github.com/spring-projects/spring-framework/wiki/What’s-New-in-Spring-Framework-6.x/
Spring Framework
https://projects.spring.io/spring-framework/
Milestones
https://github.com/spring-projects/spring-framework/milestones
Spring Framework Documentation
https://docs.spring.io/spring-framework/docs/6.0.0/reference/html/