Warnung: "Der Typ WebMvcConfigurerAdapter ist veraltet."

Warnung: "Der Typ WebMvcConfigurerAdapter ist veraltet"

1. Einführung

In diesem kurzen Tutorial sehen wir uns eine der Warnungen an, die möglicherweise bei der Arbeit mit einer Spring 5.x.x-Version angezeigt werden, nämlich die, die sich auf die veralteteWebMvcConfigurerAdapter-Klasse bezieht.

Wir werden sehen, warum diese Warnung auftritt und wie damit umgegangen wird.

2. Warum die Warnung vorhanden ist

Diese Warnungwill appear if we’re using Spring version 5 (or Spring Boot 2), entweder beim Aktualisieren einer vorhandenen Anwendung oder beim Erstellen einer neuen Anwendung mit der alten API.

Lassen Sie uns kurz die Geschichte dahinter durchgehen.

In früheren Versionen von Spring bis einschließlich Version 4 konnten wir, wenn wir eine Webanwendung konfigurieren wollten, die KlasseWebMvcConfigurerAdapterverwenden:

@Configuration
public WebConfig extends WebMvcConfigurerAdapter {

    // ...
}

Dies ist eine abstrakte Klasse, die dieWebMvcConfigurer-Schnittstelle implementiert und leere Implementierungen für alle vererbten Methoden enthält.

Durch Unterklassen können wir seine Methoden überschreiben, die Hooks für verschiedene MVC-Konfigurationselemente wie View Resolver, Interceptors und mehr bereitstellen.

In Java 8 wurde jedoch das Konzept der Standardmethoden in Schnittstellen hinzugefügt. Natürlich hat das Spring-Team das Framework aktualisiert, um die neuen Java-Sprachfunktionen voll auszunutzen.

3. Lösung

Wie bereits erwähnt, enthält dieWebMvcConfigurer-Schnittstelle ab Spring 5 Standardimplementierungen für alle Methoden. Infolgedessen wurde die abstrakte Adapterklasse als veraltet markiert.

Mal sehen, wiewe can start using the interface directly and get rid of the warning:

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

Und das ist alles! Die Änderung sollte relativ einfach durchzuführen sein.

Wennsuper() Aufrufe überschriebener Methoden gibt, sollten wir diese ebenfalls entfernen. Andernfalls können wir die Konfigurationsrückrufe wie gewohnt überschreiben.

Das Entfernen der Warnung ist zwar nicht obligatorisch, wird jedoch empfohlen, da die neue API bequemer ist und die veraltete Klasse in zukünftigen Versionen möglicherweise entfernt wird.

4. Fazit

In diesem kurzen Artikel haben wir gesehen, wie die Warnung behoben werden kann, die sich auf die Ablehnung der KlasseWebMvcConfigurerAdapterbezieht.