Configuration MVC de Spring Boot
Remplacez WebMvcConfigurerAdapter, supprimé, par WebMvcConfigurer tout en conservant l'auto-configuration MVC de 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");
}
}
Plus d'adaptateur supprimé
WebMvcConfigurer fournit des méthodes default ; aucune superclasse adaptateur ne doit donc être étendue.
Conserve les valeurs par défaut de Boot
Sans @EnableWebMvc, Spring Boot continue de configurer automatiquement l'infrastructure MVC.
Redéfinissez uniquement l'essentiel
Implémentez l'interface et personnalisez seulement le point d'extension MVC requis par l'application.
Disponible dans Spring Boot 4.0 avec Spring Framework 7.0 (nécessite Java 17+)
Les applications Spring Boot 1.x étendaient couramment WebMvcConfigurerAdapter, car les interfaces Java ne pouvaient pas fournir de méthodes default. Les versions modernes de Spring Framework fournissent directement des implémentations par défaut dans WebMvcConfigurer : implémentez donc l'interface et ne redéfinissez que les méthodes nécessaires. Dans une application Spring Boot, n'ajoutez pas @EnableWebMvc sauf si vous souhaitez délibérément prendre le contrôle total de la configuration MVC : cette annotation désactive l'auto-configuration MVC de Boot, notamment ses convertisseurs habituels, la gestion des ressources statiques et les autres valeurs par défaut.