警告:“ WebMvcConfigurerAdapter型は推奨されていません”

警告:「WebMvcConfigurerAdapter型は非推奨です」

1. 前書き

このクイックチュートリアルでは、Spring 5.x.xバージョンで作業するときに表示される可能性のある警告の1つ、つまり非推奨のWebMvcConfigurerAdapterクラスを参照する警告について説明します。

この警告が発生する理由と対処方法について説明します。

2. 警告が存在する理由

この警告will appear if we’re using Spring version 5 (or Spring Boot 2)は、既存のアプリケーションをアップグレードするとき、または古いAPIを使用して新しいアプリケーションを構築するときに発生します。

その背後にある歴史を簡単に見てみましょう。

Springの以前のバージョン(バージョン4まで)では、Webアプリケーションを構成する場合は、WebMvcConfigurerAdapterクラスを使用できます。

@Configuration
public WebConfig extends WebMvcConfigurerAdapter {

    // ...
}

これは、WebMvcConfigurerインターフェースを実装する抽象クラスであり、継承されたすべてのメソッドの空の実装が含まれています。

サブクラス化することで、そのメソッドをオーバーライドできます。これは、ビューリゾルバー、インターセプターなどのさまざまなMVC構成要素へのフックを提供します。

ただし、Java 8はインターフェイスにデフォルトメソッドの概念を追加しました。 当然、Springチームはフレームワークを更新して、新しいJava言語機能を最大限に活用しました。

3. 溶液

前述のように、Spring 5以降のWebMvcConfigurerインターフェースには、そのすべてのメソッドのデフォルトの実装が含まれています。 その結果、抽象アダプタークラスは非推奨としてマークされました。

we can start using the interface directly and get rid of the warningがどのようになっているのか見てみましょう。

@Configuration
public WebConfig implements WebMvcConfigurer {
    // ...
}

そしてそれだけです! 変更はかなり簡単にする必要があります。

オーバーライドされたメソッドへのsuper()呼び出しがある場合は、それらも削除する必要があります。 それ以外の場合は、通常どおり構成コールバックをオーバーライドできます。

警告の削除は必須ではありませんが、新しいAPIの方が便利であり、非推奨のクラスは将来のバージョンで削除される可能性があるため、削除することをお勧めします。

4. 結論

この短い記事では、WebMvcConfigurerAdapterクラスの非推奨を参照して警告を修正する方法を説明しました。