Figyelmeztetés: „A WebMvcConfigurerAdapter típus elavult”

1. Bemutatkozás

Ebben a gyors bemutatóban megnézzük az egyik figyelmeztetést, amelyet a Spring 5.x.x verzió használatakor láthatunk, nevezetesen az elavulttá WebMvcConfigurerAdapter osztály.

Meglátjuk, miért történik ez a figyelmeztetés és hogyan kell kezelni.

2. Miért van jelen a figyelmeztetés?

Ez a figyelmeztetés jelenik meg, ha az 5-ös tavaszi verziót (vagy a Spring Boot 2-et) használjuk, akár meglévő alkalmazás frissítésekor, akár új alkalmazás építésénél a régi API-val.

Nézzük át röviden a mögötte álló történelmet.

A Spring korábbi verzióiban, egészen a 4-es verzióig, ha webalkalmazást szeretnénk konfigurálni, használhatjuk a WebMvcConfigurerAdapter osztály:

@Configuration public WebConfig kiterjeszti a WebMvcConfigurerAdapter {// ...}

Ez egy elvont osztály, amely végrehajtja a WebMvcConfigurer felületet tartalmaz, és az összes örökölt módszer üres megvalósítását tartalmazza.

Alosztályozásával felülírhatjuk a módszereit, amelyek horgokat adnak az MVC különböző konfigurációs elemeihez, például nézetfeloldókhoz, elfogókhoz és még sok máshoz.

A Java 8 azonban felvette az alapértelmezett módszerek fogalmát az interfészekben. Természetesen a tavaszi csapat frissítette a keretrendszert, hogy teljes mértékben kihasználja az új Java nyelvi szolgáltatásokat.

3. Megoldás

Mint említettük, a WebMvcConfigurer Az interfész az 5. tavasztól kezdve alapértelmezett megvalósításokat tartalmaz az összes módszeréhez. Ennek eredményeként az absztrakt adapterosztályt elavultként jelölték meg.

Lássuk, hogyan elkezdhetjük az interfész közvetlen használatát és megszabadulhatunk a figyelmeztetéstől:

@Configuration public WebConfig valósítja meg a WebMvcConfigurer {// ...}

És ennyi! A változtatásnak meglehetősen könnyűnek kell lennie.

Ha vannak ilyenek szuper() felülbírált módszerek felhívása, ezeket is el kell távolítanunk. Ellenkező esetben a szokásos módon felülírhatjuk a konfigurációs visszahívásokat.

Bár a figyelmeztetés eltávolítása nem kötelező, ajánlott ezt megtenni, mivel az új API kényelmesebb, és az elavult osztályt a későbbi verziókban eltávolíthatjuk.

4. Következtetés

Ebben a rövid cikkben megtudtuk, hogyan lehet kijavítani a WebMvcConfigurerAdapter osztály.