1. 程式人生 > >WebMvcConfigurerAdapter的替換介面或類

WebMvcConfigurerAdapter的替換介面或類

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"); } }

其實,原始碼下WebMvcConfigurerAdapter是實現WebMvcConfigurer介面,所以直接實現WebMvcConfigurer介面也可以;WebMvcConfigurationSupport與WebMvcConfigurerAdapter、介面WebMvcConfigurer處於同一個目錄下WebMvcConfigurationSupport包含WebMvcConfigurer裡面的方法,由此看來版本中應該是推薦使用WebMvcConfigurationSupport類的,WebMvcConfigurationSupport應該是新版本中對WebMvcConfigurerAdapter的替換和擴充套件