Configurazione MVC di Spring Boot
Sostituisci il WebMvcConfigurerAdapter rimosso con WebMvcConfigurer e mantieni l'auto-configurazione MVC di Spring Boot.
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(
ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(
ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
Nessun adapter rimosso
WebMvcConfigurer fornisce metodi default, quindi non occorre estendere una superclasse adapter.
Mantiene i valori predefiniti di Boot
Senza @EnableWebMvc, Spring Boot continua a configurare automaticamente l'infrastruttura MVC.
Sovrascrive solo ciò che conta
Implementa l'interfaccia e personalizza solo l'hook MVC richiesto dall'applicazione.
Disponibile in Spring Boot 4.0 con Spring Framework 7.0 (richiede Java 17+)
Le applicazioni Spring Boot 1.x estendevano comunemente WebMvcConfigurerAdapter perché le interfacce Java non potevano fornire metodi default. Le versioni moderne di Spring Framework forniscono implementazioni predefinite direttamente in WebMvcConfigurer: implementa quindi l'interfaccia e sovrascrivi solo i metodi necessari. In un'applicazione Spring Boot, non aggiungere @EnableWebMvc a meno che tu non voglia assumere intenzionalmente il pieno controllo della configurazione MVC: disabilita l'auto-configurazione MVC di Boot, inclusi i consueti convertitori, la gestione delle risorse statiche e altre impostazioni predefinite.