WebMvcConfigurerAdapter已过期,替换接口或类

WebMvcConfigurerAdapter已通过时,在新版本2.x中被废弃,缘由是springboot2.0之后,引用的是spring5.0,而spring5.0取消了WebMvcConfigurerAdapter spring

如下WebMvcConfigurerAdapter 比较经常使用的重写接口跨域

/** 解决跨域问题 **/
public void addCorsMappings(CorsRegistry registry) ;
/** 添加拦截器 **/
void addInterceptors(InterceptorRegistry registry);
/** 这里配置视图解析器 **/
void configureViewResolvers(ViewResolverRegistry registry);
/** 配置内容裁决的一些选项 **/
void configureContentNegotiation(ContentNegotiationConfigurer configurer);
/** 视图跳转控制器 **/
void addViewControllers(ViewControllerRegistry registry);
/** 静态资源处理 **/
void addResourceHandlers(ResourceHandlerRegistry registry);
/** 默认静态资源处理器 **/
void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer);

新的版本解决方案目前有两种
方案1 直接实现WebMvcConfigurerspringboot

@Configuration
public class WebMvcConfg implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
         registry.addViewController("/index").setViewName("index");
    }
}

方案2 直接继承WebMvcConfigurationSupportapp

@Configuration
public class WebMvcConfg extends WebMvcConfigurationSupport {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
          registry.addViewController("/index").setViewName("index");
    }
}

 

1.源码下WebMvcConfigurerAdapter是实现WebMvcConfigurer接口,因此直接实现WebMvcConfigurer接口也能够;ide

2.WebMvcConfigurationSupport与WebMvcConfigurerAdapter、接口WebMvcConfigurer处于同一个目录下WebMvcConfigurationSupport包含WebMvcConfigurer里面的方法,由此看来版本中应该是推荐使用WebMvcConfigurationSupport类的,WebMvcConfigurationSupport应该是新版本中对WebMvcConfigurerAdapter的替换和扩展spa

 

 

参考:https://blog.51cto.com/12066352/2093750code

相关文章
相关标签/搜索