(注意!)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