Enterprise Einsteiger

Den entfernten WebMvcConfigurerAdapter durch WebMvcConfigurer ersetzen und die MVC-Autokonfiguration von Spring Boot beibehalten.

✕ 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");
    }
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
🧹

Kein entfernter Adapter

WebMvcConfigurer stellt Default-Methoden bereit, sodass keine Adapter-Superklasse erweitert werden muss.

⚙️

Boot-Standardvorgaben bleiben erhalten

Ohne @EnableWebMvc konfiguriert Spring Boot die MVC-Infrastruktur weiterhin automatisch.

🎯

Nur Relevantes überschreiben

Das Interface implementieren und nur den von der Anwendung benötigten MVC-Hook anpassen.

Alter Ansatz
WebMvcConfigurerAdapter mit @EnableWebMvc
Moderner Ansatz
WebMvcConfigurer mit Spring-Boot-Autokonfiguration
Seit JDK
17
Schwierigkeitsgrad
Einsteiger
Spring-Boot-MVC-Konfiguration
Verfügbar

Verfügbar in Spring Boot 4.0 mit Spring Framework 7.0 (erfordert Java 17+)

Spring-Boot-1.x-Anwendungen erweiterten häufig WebMvcConfigurerAdapter, weil Java-Interfaces keine Default-Methoden bereitstellen konnten. Moderne Versionen des Spring Framework bieten Default-Implementierungen direkt in WebMvcConfigurer. Daher wird das Interface implementiert und nur die benötigten Methoden werden überschrieben. In einer Spring-Boot-Anwendung sollte @EnableWebMvc nur hinzugefügt werden, wenn die MVC-Konfiguration bewusst vollständig selbst gesteuert werden soll: Die Annotation deaktiviert die MVC-Autokonfiguration von Boot einschließlich der üblichen Konverter, der Verarbeitung statischer Ressourcen und weiterer Standardvorgaben.