Configuração de MVC no Spring Boot
Substitua o WebMvcConfigurerAdapter removido por WebMvcConfigurer e preserve a autoconfiguração de MVC do 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");
}
}
Sem dependência do adaptador removido
WebMvcConfigurer fornece métodos default, eliminando a necessidade de estender uma superclasse adaptadora.
Preserva os padrões do Boot
Sem @EnableWebMvc, o Spring Boot continua configurando automaticamente a infraestrutura de MVC.
Sobrescreva apenas o necessário
Implemente a interface e personalize somente o hook de MVC exigido pela aplicação.
Disponível no Spring Boot 4.0 com Spring Framework 7.0 (requer Java 17+)
Aplicações Spring Boot 1.x normalmente estendiam WebMvcConfigurerAdapter porque interfaces Java não podiam fornecer métodos default. Versões modernas do Spring Framework fornecem implementações default diretamente em WebMvcConfigurer; portanto, implemente a interface e sobrescreva apenas os métodos necessários. Em uma aplicação Spring Boot, não adicione @EnableWebMvc a menos que queira intencionalmente assumir controle total da configuração de MVC, pois isso desativa a autoconfiguração de MVC do Boot, incluindo seus conversores habituais, o tratamento de recursos estáticos e outros padrões.