1. 序章

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

この警告が発生する理由とその処理方法を説明します。

2. 警告が表示される理由

この警告は、既存のアプリケーションをアップグレードするとき、または古いAPIを使用して新しいアプリケーションを構築するときに、Springバージョン5(またはSpring Boot 2)を使用している場合に表示されます。

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

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

@Configuration
public WebConfig extends WebMvcConfigurerAdapter {
    
    // ...
}

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

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

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

3. 解決

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

インターフェースを直接使用し始め、警告を取り除く方法を見てみましょう。

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

そしてそれがすべてです! 変更はかなり簡単に行うことができます。

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

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

4. 結論

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