今週、 Java 9のリリース直後に、Javaアプリケーションを開発するための最も人気のあるフレームワークの1つであるSpring Framework バージョン5の新しいメジャーバージョンがリリースされました 。 猫の詳細と変更点の簡単な説明の下。
Java 9サポート
ご想像のとおり、新しいSpringは新しいバージョンのJavaでの作業を非常に快適に感じています。 これは、Springの新しいバージョンがクラスパスとモジュールパスの両方で機能することを意味します( 自動モジュールを使用)。 フレームワーク自体のアセンブリとすべてのテストは、新しいJDK9で動作します(ただし、デフォルトではまだJDK8を使用しています)。
反応性
このフレームワークの新しいバージョンは、Spring貯金箱に新しいプロジェクト、 Spring Reactive Web FrameworkまたはWebFluxを追加します。 これは、従来のスレッドプール上で実行される従来のサーブレットの代替として、 イベントループ上で動作するように設計された完全に非同期でノンブロッキングのWebフレームワークです。
また、 新しいリアクティブWebは開発ではなく、 Spring MVCと並行する方向であり、サーブレットコンテナーの外部で作業し、 WebFlux.fnの機能的アプローチを使用して、 最小限のマイクロ フレームワークの ようなアプリケーションを作成することもできます。
Kotlinのサポート
Kotlinは現在、Andriodでの開発用に公式にサポートされているGoogle言語だけでなく、バックエンド開発用に公式にサポートされているSpring言語でもあります。
Kotlinサポートには、いくつかの側面が同時に含まれます。
- アプリケーションコンポーネント(Bean)およびWebFluxルートを記述するための機能的なKotlin DSL
- ScriptTemplateViewを使用してビューエンジンとしてKotlin Scriptをサポートする
- 不変クラス、オプションのパラメーター、デフォルト値などのサポート
- KotlinでSpring Initializrを使用して新しいプロジェクトを作成する機能
実際、規模と深刻さを評価するために、SpringカーネルのKotlinにはGroovyよりも多くのコードが既にあります。
新しいドキュメント
公式ドキュメントは再構成され、機能別にグループ化された小さなモジュールに分割されています。
その他の変更
それらはたくさんありますが、いくつかの重要なものは区別できます:
- JSR-305注釈を使用したヌルの安全性 。 Kotlinはこれらの注釈とJavaコード分析ツール(たとえば、IDEAはFindBugsと同様にそれらを理解します)を処理できます
- Java EE 8との互換性-サーブレット4.0、Bean Validation 2.0、JPA 2.2、JSON Binding API 1.0、Tomcat 9.0、Hibernate Validator 6.0
- コンポーネント(beans)またはWebFlux.fnの機能登録-DIは、注釈およびXMLだけでなく、アプリケーションコンテキストを直接参照するコードによっても構成できるようになりました
- 新しい共通ロギングブリッジはspring-jclです (Log4j 2.x、SLF4J、java.util.loggingで自動的に動作します)
- テストフレームワークの改善-JUnit 5のサポート、テストの並列実行
おわりに
一般に、多くの変更があります。新しいフレームワークは、プロジェクトでの数年間の作業の結果です。 Spring Boot 2.0ビルドスナップショットまたは来週リリースされるM5のバージョンを使用して、新しいSpring 5を試すことができます。 Spring Boot 2.0の最終バージョンは、今年の終わりに向けてリリースされる予定です。
便利なリンク: