在SpringBoot2.0,Spring5.0后,WebMvcConfigurerAdapter被废弃,取代的方案有两种
//实现接口 WebMvcConfigurer(官方推荐)
implements WebMvcConfigurer
//继承WebMvcConfigurationSupport
extends WebMvcConfigurationSupport
查看源码发现:
- WebMvcConfigurerAdapter只是对WebMvcCofigurer的空实现
- WebMvcConfigurationSupport与WebMvcConfigurerAdapter、接口WebMvcConfigurer处于同一个目录下WebMvcConfigurationSupport包含WebMvcConfigurer里面的方法,且WebMvcConfigurationSupport的实现的方法更全面但是继承WebMvcConfigurationSupport会发现Spring Boot的WebMvc自动配置失效(WebMvcAutoConfiguration自动化配置),导致无法视图解析器无法解析并返回到对应的视图。
总结:
使用第一种方法是实现了一个接口,可以任意实现里面的方法,不会影响到Spring Boot自身的@EnableAutoConfiguration,而使用第二种方法相当于覆盖了@EnableAutoConfiguration里的所有方法,每个方法都需要重写,所以推荐使用第一种方案