Enterprise Débutant

Remplacez WebMvcConfigurerAdapter, supprimé, par WebMvcConfigurer tout en conservant l'auto-configuration MVC de Spring Boot.

✕ Spring Boot 1.x
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addViewControllers(
            ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
    }
}
✓ Spring Boot 4.x
@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(
            ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
    }
}
Un problème avec ce code ? Dites-le nous.
🧹

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.

Ancienne Approche
WebMvcConfigurerAdapter avec @EnableWebMvc
Approche Moderne
WebMvcConfigurer avec l'auto-configuration de Spring Boot
Depuis JDK
17
Difficulté
Débutant
Configuration MVC de Spring Boot
Disponible

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.