警告:「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クラスの非推奨を参照して警告を修正する方法を説明しました。