WebMvcConfigurerAdapter过时替换接口或类
(注意!)WebMvcConfigurerAdapter 在spring 5.0中已经弃用了。
原来的使用方式
@Deprecated public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer { /** * {@inheritDoc} * <p>This implementation is empty. */ @Override public void configurePathMatch(PathMatchConfigurer configurer) { }
替代的使用方式
实现接口
@Configuration public class WebMvcConfg implements WebMvcConfigurer { //省略 }
继承类
@Configuration public class WebMvcConfg extends WebMvcConfigurationSupport { //省略 }
WebMvcConfigureAdapter 比较常用的重写接口
/** 解决跨域问题 **/ 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);
实际应用
在实际的web应用中,一般对添加拦截器的接口实现的比较多,比如下面的例子:
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new 拦截器1).addPathPatterns("/**"); registry.addInterceptor(new 拦截器2).addPathPatterns("/open/**"); super.addInterceptors(registry); }
参考文章:
- http://blog.51cto.com/12066352/2093750
- https://www.cnblogs.com/xingzc/p/8656088.html