Advarsel: “Typen WebMvcConfigurerAdapter er avviklet”

1. Introduksjon

I denne raske opplæringen vil vi se på en av advarslene vi kan se når vi jobber med en Spring 5.x.x-versjon, nemlig den som refererer til den utdaterte WebMvcConfigurerAdapter klasse.

Vi får se hvorfor denne advarselen skjer og hvordan vi skal håndtere den.

2. Hvorfor advarselen er til stede

Denne advarselen vises hvis vi bruker Spring versjon 5 (eller Spring Boot 2), enten når du oppgraderer en eksisterende applikasjon eller bygger en ny applikasjon med den gamle API-en.

La oss kort gå gjennom historien bak den.

I tidligere versjoner av Spring, til og med versjon 4, hvis vi ønsket å konfigurere en webapplikasjon, kunne vi bruke WebMvcConfigurerAdapter klasse:

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

Dette er en abstrakt klasse som implementerer WebMvcConfigurer grensesnitt og inneholder tomme implementeringer for alle metodene som er arvet.

Ved å underklasse den kan vi overstyre metodene, som gir kroker til forskjellige MVC-konfigurasjonselementer som visningsoppløsere, avskjærere og mer.

Java 8 la imidlertid til begrepet standardmetoder i grensesnitt. Naturligvis oppdaterte Spring-teamet rammeverket for å gjøre full bruk av de nye Java-språkfunksjonene.

3. Løsning

Som nevnt, den WebMvcConfigurer grensesnitt, som begynner med Spring 5, inneholder standardimplementeringer for alle metodene. Som et resultat ble den abstrakte adapterklassen merket som avviklet.

La oss se hvordan vi kan begynne å bruke grensesnittet direkte og kvitte oss med advarselen:

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

Og det er alt! Endringen skal være ganske enkel å gjøre.

Hvis det er noen super() samtaler til overstyrte metoder, bør vi fjerne dem også. Ellers kan vi overstyre noen av konfigurasjonstilbakeringene som vanlig.

Selv om det ikke er obligatorisk å fjerne advarselen, anbefales det å gjøre det, ettersom den nye API-en er mer praktisk, og den avviklede klassen kan bli fjernet i fremtidige versjoner.

4. Konklusjon

I denne korte artikkelen så vi hvordan vi kan fikse advarselen med henvisning til avskrivningen av WebMvcConfigurerAdapter klasse.


$config[zx-auto] not found$config[zx-overlay] not found