Spring-Boot-MVC-Konfiguration
Den entfernten WebMvcConfigurerAdapter durch WebMvcConfigurer ersetzen und die MVC-Autokonfiguration von Spring Boot beibehalten.
@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");
}
}
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.
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.