实现WebMvcConfigurer接口
/**
* @descripte 配置自己的视图解析器
*/
@Configuration
public class MyViewConfigController implements WebMvcConfigurer {
@Override
/*重写addViewControllers实现*/
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/123").setViewName("index");
}
}
继承WebMvcConfigurationSupport类
/**
* @descripte 配置自己的视图解析器
*/
@Configuration
public class MyViewConfigController extends WebMvcConfigurationSupport{
@Override
/*重写addViewControllers实现*/
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/123").setViewName("index");
}
}
这两种最大区别是实现WebMvcConfigurer可以使用springmvc自动配置,
继承WebMvcConfigurationSupport不可以使用springmvc自动配置
例如静态资源不能访问(/static),原因如下:
@Configuration
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class })
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)//如果没有WebMvcConfigurationSupport,才自动使用springmvc配置
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10)
@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class,
ValidationAutoConfiguration.class })
public class WebMvcAutoConfiguration {
继承WebMvcConfigurationSupport,就相当于在容器中添加这个类了。