Advarsel: “Typen WebMvcConfigurerAdapter er udfaset”

1. Introduktion

I denne hurtige vejledning ser vi på en af ​​de advarsler, vi kan se, når vi arbejder med en Spring 5.x.x-version, nemlig den der henviser til den forældede WebMvcConfigurerAdapter klasse.

Vi ser, hvorfor denne advarsel sker, og hvordan vi håndterer den.

2. Hvorfor advarslen er til stede

Denne advarsel vises, hvis vi bruger Spring version 5 (eller Spring Boot 2), enten når du opgraderer en eksisterende applikation eller bygger en ny applikation med den gamle API.

Lad os kort gennemgå historien bag det.

I tidligere versioner af Spring, til og med version 4, hvis vi ønskede at konfigurere en webapplikation, kunne vi gøre brug af WebMvcConfigurerAdapter klasse:

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

Dette er en abstrakt klasse, der implementerer WebMvcConfigurer interface og indeholder tomme implementeringer for alle de arvede metoder.

Ved at subklassificere det kan vi tilsidesætte dets metoder, som giver kroge i forskellige MVC-konfigurationselementer såsom visningsopløsere, aflyttere og mere.

Java 8 tilføjede dog konceptet med standardmetoder i grænseflader. Naturligvis opdaterede Spring-teamet rammen for at gøre fuld brug af de nye Java-sprogfunktioner.

3. Løsning

Som nævnt er WebMvcConfigurer interface, der starter med Spring 5, indeholder standardimplementeringer for alle dens metoder. Som et resultat blev den abstrakte adapterklasse markeret som forældet.

Lad os se hvordan vi kan begynde at bruge grænsefladen direkte og slippe af med advarslen:

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

Og det er alt! Ændringen skal være ret let at foretage.

Hvis der er nogen super() kald til tilsidesatte metoder, skal vi også fjerne dem. Ellers kan vi tilsidesætte ethvert af konfigurationens tilbagekald som normalt.

Selvom det ikke er obligatorisk at fjerne advarslen, anbefales det at gøre det, da den nye API er mere praktisk, og den forældede klasse kan fjernes i fremtidige versioner.

4. Konklusion

I denne korte artikel så vi, hvordan vi fikser advarslen, der henviser til afskrivningen af WebMvcConfigurerAdapter klasse.


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