皆さんこんにちは、スタックマネージャーです。
はい、つい昨日、Spring Boot 2.x のメンテナンスが停止されました。 。
Spring Boot の最後の 2.x バージョン2.7.x はメンテナンスを停止し、3.0.x もメンテナンスを停止し、商用サポートされています。バージョンは2.6.xのみで、2.5.x未満のバージョンは完全に歴史の舞台から退いています。 。
各バージョンの終了時期はロードマップから確認できます。最新の Spring Boot 3.2.0 も含め、1 年以内に終了します。 したがって、Spring Boot 2 のメンテナンスの停止は予見可能かつ避けられない結果であり、Spring チームは新しいバージョンの開発とメンテナンスにさらに多くの時間とリソースを集中するだけであり、これは、Spring Boot 2 全体の開発を促進することにもなります。 Java エコシステム。
同時に、昨日、Spring Boot も 4 つのバージョンを同時にリリースしました。
- 3.2.0
- 3.1.6
- 3.0.13
- 2.7.18
最新バージョンを以下に示します。
したがって、3.0.13 と 2.7.18 がこのバージョン ラインの最後のバージョンになる可能性があり、2.7.18 が Java 8 をサポートする最後のバージョンになります。
最新の 3.2.0 の新機能をぜひご覧ください。 !
Spring Boot 3.2.0 の新機能
1. 最低限の環境要件
Spring Boot 3.0.0 は Java 17 のサポートを開始し、少なくとも Java 17 を必要とし、Spring Boot 3.1.5 は Java 21 のサポートを開始します。
Java 開発環境の要件の比較表:
スプリングブーツ | JDK | 春 | メイビン | グラドル |
---|---|---|---|---|
3.2.0 | 17~21 | 6.1.1+ | 3.6.3+ | 7.5+、8.x |
3.1.0 | 17~20 | 6.0.9以降 | 3.6.3+ | 7.5+、8.x |
3.0.0 | 17~19 | 6.0.2以降 | 3.5+ | 7.5+ |
2.7.12 | 8~20 | 5.3.27+ | 3.5+ | 6.8.x、6.9.x、7.x、8.x |
Java 8 をサポートする Spring Boot 2.x シリーズの最後のバージョンは廃止されました。Java 17 の新時代が到来しました。まだ Java 8 にこだわっているなら、もう終わりです。過去 1 年間で、Java 8 は廃止されました。半分! Java 17 は 430% 急上昇しました! !
サインアップすると、スタック リーダーが作成した「Java 17 新機能実践コース」を学ぶことができます。優れたコースは高価ではありません。永久学習の場合は 199 元。今後 Java 21 以降のバージョンの新しいコンテンツがリリースされた場合は、無料で更新されます。
2. 仮想スレッドのサポート
仮想スレッドとは何ですか?
仮想スレッドは低コスト、軽量のユーザーモード スレッド実装であり、伝説的な「」は、利用可能なハードウェアを最大限に活用し、同時実行性の高いアプリケーションの作成、保守、監視の作業負荷を大幅に軽減します。 Coroutine
スレッドを使用するときは細心の注意が必要であることは誰もが知っています。スレッドの作成と破棄にはシステム リソースが消費されるため、スレッド プールがありますが、スレッドの数には制限があり、スレッドがブロックされてしまうため、これだけでは十分ではありません。オペレーティング システムのスレッドが大きくなり、スループットを最大限に向上させることができません。
スレッドの使用コストが非常に高いため、仮想スレッドがあります。これはユーザーモードのスレッドであり、コストは非常に低いです。スケジューリングもユーザー (JDK のスケジューラー) によって完全に制御されます。ブロックすることもできますが、オペレーティング システムのスレッドをブロックする必要がないため、ハードウェアの使用率が完全に向上し、同時実行性が桁違いに増加するため、高いスループットが実現します。
仮想スレッドは Java 19 で初めて導入され、Java 21 で正式に運用できるようになりました。
Spring Boot 3.1.5 は Java 21 と互換性があります。Spring Boot 3.2.0 は Java 21 の仮想スレッドを正式にサポートできます。 を追加するだけです。次の構成:
spring.threads.virtual.enabled = true
具体的な使用法については、「Spring Boot コア テクノロジー コース」で後ほど更新します。
3. CRaCのサポート
Spring Boot 3.2.0 では、CRaC の初期サポートが追加されました。CRaC の正式名は次のとおりです: チェックポイントでの調整されたリストアは、OpenJDK によってサポートされているプロジェクトです。主に、Java アプリケーションの実行に影響を与えることなく、Java アプリケーションのチェックポイントの設定 (イメージ、スナップショットの作成) を扱い、チェックポイントの回復を通じて実行できます。
詳細は以下のとおりです。
4. SSL バンドルのリロード
SSL バンドルに関連する重要な情報が変更された場合の自動リロードがサポートされるようになりました。
現在 SSL バンドルのリロードをサポートしている Web サーバー: ·
- Netty Webサーバー
- Tomcat Webサーバー
SSL バンドルで reload-on-update = true を設定する必要があります。参考例は次のとおりです。
spring.ssl.bundle.pem.mybundle.reload-on-update=true spring.ssl.bundle.pem.mybundle.keystore.certificate=file:/some/directory/application.crt spring.ssl.bundle.pem.mybundle .keystore.private-key=ファイル:/some/ディレクトリ/application.key
ファイル モニターはキー ファイルを監視し、ファイルが変更されると SSL バンドルがリロードされます。
5.可観測性の向上
1) @Timed
、@Counted
、@NewSpan
、 など、Micrometer のさまざまな注釈を使用できるようになりました。 a> a> など。AspectJ が統合されている場合、これらのアスペクトは自動的に設定されます。 @ContinueSpan
、@Observed
2) Micrometer 追跡で使用される ObservationHandler
関連 Bean が、ObservationConfig 構成クラスに自動的に登録されるようになります。
3) B3 トレース伝播のデフォルト形式が single-no-parent
から single
に変更されました。
4) @Scheduled
アノテーションが付けられたメソッドに対してオブザーバビリティのサポートが提供されるようになりました。
5) R2DBC
のオブザーバビリティ サポートが追加されました。
6. サポートアイテムの追加
Spring Boot 3.2.0 では、多数の Spring ライブラリとサードパーティ ライブラリが更新されました。
また、次のテクノロジーのサポートと改善も追加されました。
- レストクライアント
- Jdbcクライアント
- 桟橋
- Apache Pulsar の春
- Kafka、RabbitMQ の SSL バンドル サポートを追加
- ネストされた Jar のサポート
- Docker イメージの構築の改善
7. 項目の変更
いくつかの重要な変更:
1) OkHttp 3 を削除し、OkHttp 4 をサポートします。
2)参数 management.metrics.tags.
被 management.observations.key-values.
替代。
3) LoggingSystemProperties クラスと LogbackLoggingSystemProperties クラスの多くの定数が削除され、関連する列挙に置き換えられました。
4)Flyway 参数变更, flyway.oracle*
被 flyway.oracle.*
替代,spring.flyway.sql-server-kerberos-login-file
被 spring.flyway.sqlserver.kerberos-login-file
替代。
5)线程池变更,TaskExecutorBuilder
类被 ThreadPoolTaskExecutorBuilder
类替代,TaskSchedulerBuilder
类被 ThreadPoolTaskSchedulerBuilder
类替代。
詳細については、公式リリース ノートを参照してください。
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2.0-Release-Notes
要約する
今回 Spring Boot は大きく変わりました。特に Spring Boot 2.x シリーズのメンテナンスが終了し、仮想スレッドをサポートする Spring Boot 3.2.0 の新バージョンが登場しました。
何があっても過去にとらわれず、すべてのバージョンが歴史となる、技術者として常に前を向いて知識と技術をアップデートし続けることが最も大切です。
Spring Boot の最新かつ最も完全な実用的なコードが Github にアップロードされました。
まだ Spring Boot を使用したことがない場合は、Zhang Zhan の「Spring Boot コア テクノロジー コース」をお勧めします。 16 のモジュール。基盤となる実装原則やコードの実践など、ほぼすべてのコア テクノロジが含まれます。Spring Boot のあらゆる側面を迅速に理解するのに役立つ、非常に完全な知識ポイントが含まれています。
さて、今日の共有はここまでですが、スタック マネージャーは引き続き注目して、より多くの Spring Boot 情報と有益な情報を共有し、初めてパブリック アカウントの Java テクノロジ スタックに注目していきます。
著作権に関する声明: この記事は、公開アカウント「Java Technology Stack」からのオリジナルです。この記事の内容を転載または引用する場合は、出典を明記してください。盗作または転載は、侵害として報告された場合、その結果についてはお客様が責任を負い、法的責任を追及する権利を留保します。
最近のおすすめ人気記事:
1.1,000 以上の Java 面接の質問と回答 (2022 年最新バージョン)
2.素晴らしい! Java コルーチンが登場します。 。 。
3.Spring Boot 2.x チュートリアルはこれで完了です。
4.爆発や爆発で画面がいっぱいになるのはやめてください。デコレータ モードを試してください。これがエレガントな方法です。 !
5.『Java 開発マニュアル (松山編)』が新しくリリースされました。すぐにダウンロードしてください。
良いと思ったら「いいね!」と「リツイート」を忘れずに!