shiroの知恵袋

元SEのIT講師shiroが、プログラミングや趣味を語るブログです。

【Spring Boot 2.4 Release Notes】日本語訳

はじめに

仕事でSpring Boot 2.4 を利用することになりましたので、Release Notesを訳してみました。
<!!注意!!>
筆者は特に英語力に自信があるわけではありません。ご利用の際は自己責任でお願いいたします。

(参考:当ブログの免責事項

誤訳があればご指摘いただけると幸いです。本文は下記のリンクを参照しています。

github.com

以下、リリースノートの日本語訳です。

Spring Boot 2.4リリースノート

Spring Boot 2.3からの変更点

バージョンスキーマ変更

2.4として、Spring Bootは新Springバージョンスキーマに対応しています。(build.gradle/pom.xmlのSpring Bootバージョンを2.3.5.RELEASEから2.4.0に更新する必要があります。)

spring-boot-starter-testからJUnit 5のVintage Engineを削除

Spring Boot 2.4にアップグレードしてorg.junit.TestのようなJUnitクラスのテストコンパイルエラーが表示される場合、JUnit 5のvintage engineはspring-boot-starter-testから削除されたことが原因である可能性があります。

Vintage Engineを使用すれば、JUnit4で記述されたテストをJUnit5で実行できます。テストをJUnit5に移行せず、引き続きJUnit 4を使用する場合は、次の例に示すようにVintageEngineへの依存関係を追加します。

Mavenの例:

<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Gradleの例:

testImplementation("org.junit.vintage:junit-vintage-engine") {
    exclude group: "org.hamcrest", module: "hamcrest-core"
}

構成ファイルの処理(アプリケーションのプロパティとYAMLファイル)

Spring Boot 2.4は、application.propertiesファイルとapplication.ymlファイルの処理方法を変更しました。 単純なapplication.propertiesまたはapplication.ymlファイルしかない場合、アップグレードはシームレスである必要があります。 ただし、より複雑な設定(プロファイル固有のプロパティまたはプロファイルアクティベーションプロパティの使用)がある場合、新しい機能を使用するにはいくつかの変更が必要になることがあります。

Spring Boot 2.3互換のロジックが必要な場合は、application.propertiesまたはapplication.ymlファイルでspring.config.use-legacy-processingプロパティをtrueに設定できます。

構成データのインポート

spring.config.locationおよびspring.config.import(このリリースで導入)で指定された構成の場所は、ファイルまたはフォルダーが存在しない場合に暗黙で失敗しません。 場所をインポートしたいが、場所が見つからなくてもスキップしてかまわない場合は、optional:プレフィックスを付ける必要があります。

例えば、spring.config.location=optional:/etc/config/application.propertiesは、application.propertiesファイルが存在する場合は/etc/config/からインポートし、存在しない場合はスキップします。

すべての場所をオプションとして扱いたい場合は、SpringApplication.setDefaultProperties(…​)またはシステム環境変数spring.config.on-not-found=ignoreを設定できます。

組み込みデータベースの検出

組み込みデータベースロジックは、データベースがメモリ内にある場合にのみ組み込みと見なされるように改良されました。 H2、HSQL、Derbyでファイルベースの永続性またはサーバーモードを使用している場合、この変更は2つの結果をもたらします:

  • saユーザ名は設定されなくなります。その動作に依存している場合は、構成でspring.datasource.username=saを設定する必要があります。
  • このようなデータベースは組み込みとは見なされなくなるため、起動時に初期化されなくなります。spring.datasource.initialization-modeを使用すると、これを通常として設定できます。

ログバック構成のプロパティ

ログバックに固有のログプロパティは、ログバック固有であるという事実を反映して名前が変更されました。以前の名前は非推奨になりました。

以下のSpring Bootプロパティが変更されました:

  • logging.pattern.rolling-file-namelogging.logback.rollingpolicy.file-name-pattern
  • logging.file.clean-history-on-startlogging.logback.rollingpolicy.clean-history-on-start
  • logging.file.max-sizelogging.logback.rollingpolicy.max-file-size
  • logging.file.total-size-caplogging.logback.rollingpolicy.total-size-cap
  • logging.file.max-historylogging.logback.rollingpolicy.max-history

それらがマップするシステム環境プロパティも同様です:

  • ROLLING_FILE_NAME_PATTERNLOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN
  • LOG_FILE_CLEAN_HISTORY_ON_STARTLOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START
  • LOG_FILE_MAX_SIZELOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE
  • LOG_FILE_TOTAL_SIZE_CAPLOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP
  • LOG_FILE_MAX_HISTORYLOGBACK_ROLLINGPOLICY_MAX_HISTORY

デフォルトサーブレット登録

Spring Boot 2.4は、サーブレットコンテナによって提供されるDefaultServletを登録しなくなります。 ほとんどのアプリケーションでは、Spring MVCDispatcherServletが必要な唯一のサーブレットであるため使用されません。

デフォルトのサーブレットがまだ必要な場合は、server.servlet.register-default-servlettrueに設定できます。

HTTPトレースにデフォルトでCookieヘッダが含まれない

CookieリクエストヘッダとSet-Cookieレスポンスヘッダは、デフォルトでHTTPトレースに含まれなくなりました。 Spring Boot 2.3の動作を復元するには、cookies, errors, request-headers, response-headersmanagement.trace.http.includeを設定します。

転送のUndertowパス

デフォルトでは、Undertowはリクエストが転送されるときに元のリクエストURLを保持します。 このリリースは、サーブレット仕様に準拠するためにUndertowのデフォルトをオーバーライドします。 以前のUndertowのデフォルトの動作は、プロパティserver.undertow.preserve-path-on-forwardtrueに設定することで復元できます。

Neo4j

このリリースでは、Neo4jサポートが大幅に見直されています。 spring.data.neo4j.*の多くのプロパティが削除され、Neo4jOGMのサポートも同様に削除されました。

Neo4jドライバの構成はspring.neo4j.*名前空間を通して行われますが、データ名前空間からのURIと基本認証は非推奨の方法で引き続きサポートされています。 この変更とSpringData Neo4j 6の機能の詳細については、ドキュメントを確認してください。

Elasticsearch RestClient

低レベルのElasticsearch RestClient Beanは、Spring Bootによって自動構成されなくなります。RestHighLevelClient Beanは引き続き自動構成されます。

ほとんどのユーザは低レベルのクライアントを使用する必要はなく、この変更の影響を受けないはずです。

R2DBC

R2DBCのコアインフラは、新しいspring-r2dbcモジュールを備えたSpringフレームワークに移行しました。 このインフラを使用している場合は、非推奨のアクセスを新しいコアサポートに移行してください。

Flyway

Flyway 7へのアップグレードには、コールバックの順序に対するいくつかの変更が含まれています。 これは、@OrderおよびOrde​​redを介してサポートする登録注文に依存しているすべての人にとって重大な変更になります。

Flyway 5を使用している場合、Flywayは1つの機能リリースのスキーマアップグレードのみを保持するため、Spring Boot2.4にアップグレードする前に必ずFlyway6にアップグレードしてください。

Flatten Mavenプラグインプラグイン管理の削除

Spring BootのビルドはFlatten Mavenプラグインflatten-maven-plugin)を使用しなくなり、プラグイン管理は削除されました。 Spring Bootの管理バージョンに依存している場合は、独自のプラグイン管理を追加する必要があります。

exec-maven-pluginのバージョン管理

exec-maven-pluginのバージョン管理は削除されました。 このプラグインを使用している場合は、独自のpluginManagementでバージョンを指定してください。

Spring Boot Gradleプラグイン

Spring Boot GradleプラグインbootJarタスクのDSLが更新され、Property<String>を使用してmainClassを構成できるようになりました。現在mainClassNameを使用している場合、例えば:

bootJar {
    mainClassName 'com.example.ExampleApplication'
}

それを`mainClass'に変更する必要があります:

bootJar {
    mainClass 'com.example.ExampleApplication'
}

統合テストでのメトリクスのエクスポート

@SpringBootTestは利用可能な監視システムを構成しなくなり、メモリ内のMeterRegistryのみを提供します。 統合テストの一部としてメトリックをエクスポートしていた場合は、テストに @AutoConfigureMetricsを追加して、以前の動作を復元できます。

Spring Boot 2.2および2.3からの非推奨

Spring BootのRelease Compatibilityポリシーを反映して、Spring Boot 2.2で非推奨となったコードはSpring Boot 2.4で削除されました。 Spring Boot 2.3で非推奨になったコードはそのまま残り、Spring Boot 2.5で削除される予定です。

新規注目点

構成の変更の完全な概要については、構成の変更ログを確認してください。

Spring Framework 5.3

Spring Boot 2.4はSpring Framework 5.3を使用します。 Spring Framework wikiには、新しいリリースの詳細が記載された新機能のセクションがあります。

Spring Data 2020.0

Spring Boot 2.4には、Spring Dataリリーストレインのバージョン2020.0(コードネームOckham)が含まれています。リリースの詳細については、Spring Data wikiを参照してください。

Neo4j

このリリースでは、リアクティブリポジトリがサポートされ、Neo4jドライバの個別の自動構成に依存しています。その結果、SpringDataの有無にかかわらずNeo4jを使用できるようになりました。

Neo4jのヘルスチェックはドライバを使用し、Neo4jドライバが構成されている限り利用できます。

リアクティブアクセスで @Transactionalを使用する場合は、今のところ、Neo4jReactiveTransactionManager Beanを自分で構成する必要があります。

@Bean(ReactiveNeo4jRepositoryConfigurationExtension.DEFAULT_TRANSACTION_MANAGER_BEAN_NAME)
public ReactiveTransactionManager reactiveTransactionManager(Driver driver,
      ReactiveDatabaseSelectionProvider databaseNameProvider) {
    return new ReactiveNeo4jTransactionManager(driver, databaseNameProvider);
}

R2DBC

R2dbcEntityTemplateを使用して、エンティティを通してリアクティブR2DBCの使用を簡素化できます。

Java 15サポート

Spring Boot 2.4は、Java 15を完全にサポートするようになりました。サポートされる最小バージョンはJava 8のままです。

カスタムプロパティ名のサポート

コンストラクバインディングを使用する場合、プロパティの名前はパラメータ名から派生します。 これは、Javaの予約済みキーワードを使用する場合に問題になる可能性があります。

このような状況では、次のような@Nameアノテーションを使用できるようになりました。

@ConfigurationProperties(prefix = "sample")
@ConstructorBinding
public class SampleConfigurationProperties {

  private final String importValue;

  public SampleConfigurationProperties(@Name("import") String importValue) {
    this.importValue = importValue;
  }

}

上記のサンプルは、sample.importプロパティを公開しています。

階層化jarがデフォルトで有効

このリリースでは、階層化jarが有効になり、デフォルトでlayertoolsが含まれています。 これによって、すぐに使用できるビルドパックを使用して生成されたイメージの効率が向上し、カスタムDockerfileを作成するときにその機能を利用できるようになります。

追加アプリケーション構成のインポート

spring.config.use-legacy-processingtrueに設定していない限り、メインのapplication.propertiesまたはapplication.ymlから直接追加プロパティとyamlファイルをインポートできるようになりました。

spring.config.importプロパティを使用して、Spring環境にインポートする必要がある1つ以上の追加の構成ファイルを指定できます。詳細については、リファレンスガイドのこのセクションを参照してください。

これらの変更を行った理由を説明するショートブログを公開しました。

ボリュームマウントされた構成ディレクトリツリー

spring.config.importプロパティを使用して、Kubernetesで一般的に使用される構成ツリーをインポートすることもできます。 構成ツリーは、キー/値のペアを提供する別の方法です。 各ペアは独自のファイルで宣言され、ファイル名がプロパティキーを形成し、ファイルの内容が値を提供します。

完全な例については、更新されたリファレンスドキュメントを参照してください。

構成ツリーからロードされたプロパティには、デフォルトで末尾の改行文字がトリミングされています。

ファイル拡張子のない設定ファイルのインポート

一部のクラウドプラットフォームでは、ファイル拡張子なしでファイルをボリュームマウントすることしかできません。 このような制約がある場合は、コンテンツタイプに関するヒントをSpring Bootに提供することで、これらのファイルをインポートできるようになりました。 例えば、spring.config.import=/etc/myconfig[.yaml]/etc/myconfigYAMLとしてロードします。

オリジンチェーン

Originインターフェースは、新しいgetParent()メソッドで更新されました。 これによって、アイテムの出所を正確に示すことができる完全なオリジンチェーンを提供できます。

たとえば、application.propertiesspring.config.importを使用して、2番目のファイルをインポートできます。 この2番目のファイルからロードされたプロパティのOriginには、元のインポート宣言を指す親があります。

actuator/envまたはactuator/configpropsアクチュエータエンドポイントの出力を確認することで、これを自分で試すことができます。

スタートアップエンドポイント

アプリケーションの起動に関する情報を表示する、新しい起動アクチュエータエンドポイントが利用可能になりました。 エンドポイントは、開始に予想よりも時間がかかっているBeanを特定するのに役立ちます。

この作業は、Spring Framwork 5.3に最近追加されたアプリケーションの起動追跡機能に基づいています。 この機能の詳細については、Spring Frameworkのリファレンスドキュメントを参照してください。

新しいアクチュエータAPIここに記載されています。

Docker/Buildpackのサポート

画像の公開

Mavenプラグインspring-boot:build-imageゴールとGradleプラグインbootBuildImageタスクに、生成されたイメージをDockerレジストリに公開する機能が追加されました。

イメージを公開するためのプラグインの構成の詳細については、MavenおよびGradleプラグインのドキュメントを参照してください。

認証

Spring Bootのビルドパックサポートを使用する場合、ビルダーまたは実行イメージにプライベート認証済みDockerレジストリを使用できるようになりました。 ユーザ名/パスワードとトークンベースの認証の両方がサポートされています。

MavenGradle*1のドキュメントが更新され、新しい構成が表示されます。

Paketoビルドパックのデフォルト

Mavenプラグインspring-boot:build-imageゴールとGradleプラグインbootBuildImageタスクでデフォルトで使用されるイメージビルダーが最新のPaketoイメージにアップグレードされました。 アクセシビリティを向上させるために、PaketoイメージレジストリGoogle Container RegistryからDocker Hubに変更されました。

Mavenビルドパックのサポート

Mavenspring-boot:build-imageゴールによって、すべてのプロジェクトモジュールの依存関係が「アプリケーション」レイヤーに配置されるようになりました。 これは、ビルドに複数のプロジェクトモジュールがある場合、それらはすべて同じレイヤーに配置されることを意味します。

XMLスキーマも更新され、新しい<includeModuleDependencies/>要素と<excludeModuleDependencies/>要素を使用してレイヤーをカスタマイズできるようになりました

詳細については、更新されたMavenのドキュメントを参照してください。

Gradleビルドパックのサポート

GradleのbootBuildImageタスクは、すべてのプロジェクトモジュールの依存関係が「アプリケーション」レイヤーに配置されるようになりました。 これは、ビルドに複数のプロジェクトモジュールがある場合、それらはすべて同じレイヤーに配置されることを意味します。

レイヤーをカスタマイズするときに、DSLincludeProjectDependencies()excludeProjectDependencies()を使用することもできます。

詳細については、更新されたGradleのドキュメントを参照してください。

Redisキャッシュメトリクス

Redisキャッシュを使用している場合は、Micrometerを介してキャッシュ統計を公開できるようになりました。 ログに記録されるメトリクスには、hits/missesだけでなく、puts/gets/deletesの数も含まれます。 保留中のリクエストの数とロック待機時間も記録されます。

この機能を有効にするには、spring.cache.redis.enable-statisticstrueに設定します。

Web構成のプロパティ

SpringMVCまたはSpringWebFluxのいずれかを使用したWebロケールとリソースの場所の構成をサポートするためのプロパティが追加されました。 新しいプロパティは次の通りです:

  • spring.web.locale
  • spring.web.locale-resolver
  • spring.web.resources.*

サーブレットまたはリアクティブWebスタックのいずれかを使用したアクチュエータ管理エンドポイントの構成をサポートするために、新しいプロパティが追加されました:

  • management.server.base-path

これらのSpringMVCおよびサーブレット固有のプロパティは非推奨になり、いずれかのWebスタックをサポートする新しいプロパティが採用されました。

  • spring.mvc.locale
  • spring.mvc.locale-resolver
  • spring.resources.*
  • management.server.servlet.context-path

サーブレットとフィルタを登録可能な@WebListeners登録

サーブレット@WebListenerクラスは、それ自体がサーブレットとフィルタを登録できるように登録されるようになりました。

以前のバージョンのSpring Bootは、javax.servlet.Registration.Dynamicへの呼び出しを使用してそれらを登録しました。 これは、サーブレット仕様(4.4)の次のセクションが適用されることを意味します。

ServletContextListenerがweb.xmlまたはweb-fragment.xmlで宣言されておらず、@WebListenerアノテーションも付けられていないServletContextListenerのcontextInitializedメソッドにServletContextが渡された場合、サーブレット、フィルターとリスナーのプログラム構成のためにServletContextで定義されたすべてのメソッドに対してUnsupportedOperationExceptionをスローする必要があります。

Spring Boot 2.4以降、動的登録を使用しなくなったため、ServletContextListener.contextInitializedメソッドからevent.getServletContext().addServlet(…)およびevent.getServletContext.addFilter(…)を安全に呼び出すことができます。

Cassandraスライステスト

追加のテストスライスを使用して、@DataCassandraTestを使用してCassandraに依存するコンポーネントをテストできます。 通常通り、Cassandraリポジトリと必要なインフラストラクチャのみがデフォルトで構成されています。

Testcontainersと@DynamicPropertSourceを使用した例を次に示します。

@DataCassandraTest(properties = "spring.data.cassandra.local-datacenter=datacenter1")
@Testcontainers(disabledWithoutDocker = true)
class SampleDataCassandraTestIntegrationTests {

    @Container
    static final CassandraContainer<?> cassandra = new CassandraContainer<>().withStartupAttempts(5)
            .withStartupTimeout(Duration.ofMinutes(2));

    @DynamicPropertySource
    static void cassandraProperties(DynamicPropertyRegistry registry) {
        registry.add("spring.data.cassandra.contact-points",
                () -> cassandra.getHost() + ":" + cassandra.getFirstMappedPort());
    }

    ...

}

Flyway 7

このリリースはFlyway7にアップグレードされ、いくつかのプロパティが追加されます。 オープンソース版では、次のspring.flywayプロパティを追加しました:

  • url
  • user
  • password

「teams」エディションを使用している場合は、次のものも利用できます:

  • cherry-pick
  • jdbc-properties
  • oracle-kerberos-cache-file
  • oracle-kerberos-config-file
  • skip-executing-migrations

H2コンソールのWeb管理者パスワードの構成プロパティ

H2コンソールのWeb管理者パスワードを構成するための新しい構成プロパティspring.h2.console.settings.web-admin-passwordが導入されました。 パスワードは、コンソールの設定とツールへのアクセスを制御します。

ApacheCassandraのCqlSessionベースのヘルスインジケータ

新しいCqlSessionベースのヘルスインジケータであるCassandraDriverHealthIndicatorCassandraDriverReactiveHealthIndicatorが導入されました。 これらのインジケーターの1つは、CassandraのJavaドライバがクラスパス上にあるときに自動構成されます。 既存のSpring Data Cassandraベースのヘルスインジケータは非推奨になりました。

Prometheusによるフィルタースクレイピング

アクチュエータのPrometheusエンドポイント/actuator/prometheusは、応答に含まれるサンプルをフィルタリングするために使用できるincludedNamesクエリパラメータをサポートするようになりました。 詳細については、Actuator APIのドキュメントを参照してください。

Spring Security SAML構成プロパティ

Properties have been added to allow configuration of a SAML2 relying party registration’s decryption credentials and Assertion Consumer Service (ACS). The properties are under the following headings:

Failure Analyzers

ApplicationContextが作成されていない場合でも、FailureAnalizersが考慮されるようになりました。 これによって、Environment処理中にスローされた例外を分析することもできます。

BeanFactoryAwareまたはEnvironmentAwareを実装するアナライザーは、ApplicationContextが作成されない限り使用されないことに注意してください。

Jar最適化

実行可能なSpring Boot jarを生成するときに、空のスターター依存関係が自動的に削除されるようになりました。 ほとんどのスターターは推移的な依存関係しか提供しないため、最終的なjarにパッケージ化しても意味がありません。

Spring Bootアノテーションプロセッサも削除され、ビルド中にのみ役立ちます。 これらは、spring-boot-autoconfigure-processorspring-boot-configuration-processorです。

コードを含まない独自のスターターPOMがある場合は、値が「dependencies-starter」のSpring-Boot-Jar-TypeエントリーをMANIFEST.MFに追加できます。 注釈プロセッサを除外する場合は、値「annotation-processor」を使用して同じプロパティを追加できます。

その他

上記の変更とは別に、次のような多くのマイナーな調整と改善も含みます:

  • アプリケーションが実行中のJVMのバージョンを起動時に記録します。
  • 末尾の空白は、logging.configの値から自動的に削除されます。
  • R2DBCプールのサポートによって、追加の構成プロパティが公開されます。
  • LdapTemplateの例外処理は、特定の例外を無視するように構成できます。
  • ISOオフセット日時形式は、MVCおよびWebfluxをサポートします。
  • AntPathMatcherの代わりに新しいPathPatternParserをオプトインする構成プロパティを追加して、リクエスマッピングパスパターンを解析および照合します。
  • @DurationUnit@DataSizeUnit、および@PeriodUnitは、@ConstructorBindingを使用してコンストラクタパラメータにアノテーションを付けることができます。
  • 自動構成されたRabbitConnectionFactoryは、CredentialsProviderCredentialsRefreshServiceの存在を確認します。
  • ヘルスグループは例外のみで定義できます。
  • AbstractRoutingDataSourceは、management.health.db.ignore-routing-data-sourcesを使用したヘルスチェックでは無視できます。
  • SAML証明書利用者のlocalEntityIdTemplateを設定できます
  • HTTPトレースは、ナノ秒の精度で測定されます。
  • 専用のFailureAnalyzerは、Liquibaseの変更ログが欠落している場合に意味のあるメッセージを提供します。
  • Nettyのリクエスデコーダは、server.netty.*プロパティを使用してカスタマイズできます。
  • Spring Bootバージョンが管理するLiquibaseバージョンと一貫性のあるLiquibaseMavenプラグインプラグイン管理。
  • Prometheus PushGatewayの基本認証サポート。
  • spring.redis.client-typeを使用してJedisとLettuceの両方が使用可能な場合に、Jedisの選択を許可します。
  • spring.redis.lettuce.cluster.refresh.dynamic-sourcesを使用して、Redisクラスタの動的ソースの更新を無効にすることを許可します。
  • リファレンスドキュメントには、すべての構成例のPropertiesYAMLの両方が含まれるようになりました。
  • RSocketServerのフラグメントサイズは、spring.rsocket.fragment-sizeプロパティを使用してカスタマイズできるようになりました。
  • LogbackおよびLog4jロギングで使用されていた文字セットは、プロパティlogging.charset.consoleおよびlogging.charset.fileを使用して構成できるようになりました。
  • Gradle 6.7以降を使用してSpring Bootアプリケーションを構築する場合、Gradleの構成キャッシュがサポートされます。

依存関係のアップグレード

Spring Boot 2.4は、いくつかのSpringプロジェクトの新しいバージョンに移行します:

多数のサードパーティの依存関係も更新されましたが、その中でも注目すべきものは次のとおりです。

Spring Boot2.4での非推奨

  • ConfigFileApplicationListenerは非推奨になり、ConfigDataEnvironmentPostProcessorが採用されました。
  • contextClassに関連するSpringApplicationBuilderメソッドとSpringApplicationメソッドは非推奨になり、contextFactoryを使用する代替メソッドが優先されます。
  • CloudFoundryVcapEnvironmentPostProcessorの一部のメソッドは、EnvironmentPostProcessorの更新が機能するように非推奨になりました(これらはほとんどのユーザに影響するはずです)。
  • BuildLogビルドパックサポートクラスは、いくつかのメソッドを廃止し、より詳細な情報を提供する代替メソッドに置き換えました。
  • LoggingSystemPropertiesのログバック定数は非推奨になり、LogbackLoggingSystemPropertiesが優先されます。
  • UndertowServletWebServerFactoryisEagerInitFilters / setEagerInitFiltersメソッドは、isEagerFilterInit / setEagerFilterInitに置き換えられました。
  • ApplicationEnvironmentPreparedEventApplicationStartingEvent、およびSpringApplicationRunListenerのいくつかのメソッドは、BootstrapContextをサポートするために非推奨になりました。
  • ビルドパックサポートのBuildLogが更新され、より多くのデータがサポートされるようになりました(ほとんどのユーザはこのクラスを直接使用しません)。
  • 一部のSpringMVCおよびサーブレット固有のプロパティは非推奨になりました(上記の「Web構成のプロパティ」セクションを参照)。
  • Spring Data Cassandraを使用するヘルスインジケータは非推奨になり、rawドライバを使用するインジケータが優先されます。

*1:本文ではMavenのリンクが貼られていますが、筆者判断でGradle側に変更しました。