Waarschuwing: "Het type WebMvcConfigurerAdapter is verouderd"

1. Inleiding

In deze korte tutorial bekijken we een van de waarschuwingen die we kunnen zien als we werken met een Spring 5.x.x-versie, namelijk degene die verwijst naar de verouderde versie. WebMvcConfigurerAdapter klasse.

We zullen zien waarom deze waarschuwing plaatsvindt en hoe ermee om te gaan.

2. Waarom de waarschuwing aanwezig is

Deze waarschuwing verschijnt als we Spring versie 5 (of Spring Boot 2) gebruiken, hetzij bij het upgraden van een bestaande applicatie of het bouwen van een nieuwe applicatie met de oude API.

Laten we kort de geschiedenis erachter doornemen.

Als we in eerdere versies van Spring tot en met versie 4 een webapplicatie wilden configureren, konden we gebruik maken van de WebMvcConfigurerAdapter klasse:

@Configuration public WebConfig breidt WebMvcConfigurerAdapter uit {// ...}

Dit is een abstracte klasse die de WebMvcConfigurer interface en bevat lege implementaties voor alle geërfde methoden.

Door het te subclassificeren, kunnen we de methoden overschrijven, die hooks bieden aan verschillende MVC-configuratie-elementen zoals view resolvers, interceptors en meer.

Java 8 heeft echter het concept van standaardmethoden in interfaces toegevoegd. Uiteraard heeft het Spring-team het framework bijgewerkt om volledig gebruik te maken van de nieuwe Java-taalfuncties.

3. Oplossing

Zoals gezegd, de WebMvcConfigurer interface, beginnend met Spring 5, bevat standaardimplementaties voor al zijn methoden. Als gevolg hiervan is de abstracte adapterklasse gemarkeerd als verouderd.

Laten we eens kijken hoe we kunnen de interface direct gaan gebruiken en de waarschuwing verwijderen:

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

En dat is alles! De wijziging zou vrij eenvoudig moeten zijn.

Als er enige zijn super() oproepen naar overschreven methoden, we moeten deze ook verwijderen. Anders kunnen we de configuratie-callbacks zoals gewoonlijk negeren.

Hoewel het verwijderen van de waarschuwing niet verplicht is, wordt het aanbevolen om dit te doen, aangezien de nieuwe API handiger is en de verouderde klasse mogelijk in toekomstige versies wordt verwijderd.

4. Conclusie

In dit korte artikel hebben we gezien hoe de waarschuwing die verwijst naar de veroudering van het WebMvcConfigurerAdapter klasse.