1. 程式人生 > >WebMvcConfigurerAdapter已過時,替換接口或類

WebMvcConfigurerAdapter已過時,替換接口或類

res 解決方案 跳轉 extends 靜態 com xtend 問題 gis

WebMvcConfigurerAdapter已經過時,在新版本2.x中被廢棄,原因是springboot2.0以後,引用的是spring5.0,而spring5.0取消了WebMvcConfigurerAdapter

以下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 直接實現WebMvcConfigurer

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

方案2 直接繼承WebMvcConfigurationSupport

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

1.源碼下WebMvcConfigurerAdapter是實現WebMvcConfigurer接口,所以直接實現WebMvcConfigurer接口也可以;

2.WebMvcConfigurationSupport與WebMvcConfigurerAdapter、接口WebMvcConfigurer處於同一個目錄下WebMvcConfigurationSupport包含WebMvcConfigurer裏面的方法,由此看來版本中應該是推薦使用WebMvcConfigurationSupport類的,WebMvcConfigurationSupport應該是新版本中對WebMvcConfigurerAdapter的替換和擴展

參考:https://blog.51cto.com/12066352/2093750

WebMvcConfigurerAdapter已過時,替換接口或類