Configuración MVC de Spring Boot
Sustituye el WebMvcConfigurerAdapter eliminado por WebMvcConfigurer y conserva la configuración automática de 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");
}
}
Sin adaptador eliminado
WebMvcConfigurer proporciona métodos predeterminados, por lo que no hay que extender ninguna superclase adaptadora.
Conserva los valores predeterminados de Boot
Sin @EnableWebMvc, Spring Boot sigue configurando automáticamente la infraestructura MVC.
Sobrescribe solo lo necesario
Implementa la interfaz y personaliza únicamente el hook de MVC que requiere la aplicación.
Disponible en Spring Boot 4.0 con Spring Framework 7.0 (requiere Java 17+)
Las aplicaciones Spring Boot 1.x solían extender WebMvcConfigurerAdapter porque las interfaces de Java no podían proporcionar métodos predeterminados. Las versiones modernas de Spring Framework proporcionan implementaciones predeterminadas directamente en WebMvcConfigurer, por lo que basta con implementar la interfaz y sobrescribir únicamente los métodos necesarios. En una aplicación Spring Boot, no añadas @EnableWebMvc a menos que quieras tomar deliberadamente el control total de la configuración de MVC: esta anotación desactiva la configuración automática de MVC de Boot, incluidos sus convertidores habituales, el manejo de recursos estáticos y otros valores predeterminados.