アップグレードの背景
springboot2.3.7 は古すぎるため、正式にサポートされなくなりました。(個人的には、正直に言うと、実際は大丈夫なのですが、最近、スプリングブーツが少しけいれんを起こしています。速すぎます。実際、国家のジュンが強くないわけではありませんが、共産主義のジュンが強すぎるのです!)
現在のバージョンのサポートを確認してください: Spring Boot Java コードをレベルアップし、Spring で何ができるかを探索してください。https: //spring.io/projects/spring-boot#support
2.3.X バージョンは昨年 gg でした。
何事においても、アップグレードする必要があります。
アップグレードしたいので、サポートされている最新バージョンにアップグレードします。
3.0 については考えないでください。なぜですか? まだ正式版がないので2.7にしましょう。
アップグレードの準備
コードの準備
アップグレードする前に、新しいブランチをプルすることを忘れないでください。svn ツールがない場合は、最初にコピーを作成する必要があります。そうしないと、アップグレードが途中で失敗するか、新しい要件が追加されて後で終了します。
準備次第
誰もがアップグレードしやすいように、公式パッケージは廃止されました。
以下は 2.7.0 です。パス内で 2.7.0 を 2.7.2 に直接変更できます。
競合を心配することなく、対応する依存関係パッケージのバージョンを直接更新できます。
2 つ目は、次の統合依存関係を追加することです。この依存関係の機能は、構成ファイル内に特定および削除されたプロパティがある場合に、ログにプロンプトが出力されることです。簡単に言えば、履歴の不正な設定を排除することができます。
現在の Maven 操作を追加するだけです。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
プロジェクトが正常に完了したら、これを忘れずに削除してください。
もちろん、新しいプロジェクトの場合は、あまり気にせず、start.spring.io にアクセスして自分で調整してください。
予防
1. spring-cloud-starter-bootstrap 依存関係 (オプション)
プロジェクトでブートストラップ構成ファイルを使用する場合は、spring-cloud-starter-bootstrap 依存関係を追加する必要があります。新しいバージョンではブートストラップが削除され、別の派閥になっているためです。
追加しないと、設定ファイルの値を読み取ることができなくなります。
spring-cloud-starter-bootstrap 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.3</version>
</dependency>
2. クロスドメイン設定
addAllowedOrigin("*") はバージョン 2.7 ではサポートされていないため、代わりに addAllowedOriginPattern("*") を使用する必要があります。
3. インターセプターの設定
元のインターセプタ webmvcconfigureadapter の有効期限が切れたため、新しいインターフェイス WebMvcConfigure を実装する必要があります。
4. 設定ファイルの設定
pathmatch のデフォルトの一致ルールが変更されました。デフォルトのルールを ant_path_matcher として設定する必要があります。
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
5. スワッガー設定
Swagger の場合は、springdoc を使用して試してみることをお勧めします。これは非常に優れた使い方です。変更しなくても大丈夫です。
その他の設定はビジネスによって異なります。パッケージが古い場合は、アップグレードしてください。
要約する
全体的なアップグレードについては、公式の関連アップグレード ドキュメントを参照する必要があります。私の個人的な提案は、相応の経験がない場合は、一度にあまり広範囲に及ばず、小規模なバージョンで対処するのが最善であるということです。このようにすると、途中での変更は比較的小さくなり、問題はより迅速に処理されます。