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