一、WebMvcConfigurer介紹
WebMvcConfigurer配置類是Spring內部的一種配置方式,採用JavaBean的形式來代替傳統的xml配置文件形式進行鍼對框架個性化定製。基於java-based方式的spring mvc配置,需要創建一個配置類並實現WebMvcConfigurer 接口,WebMvcConfigurerAdapter 抽象類是對WebMvcConfigurer接口的簡單抽象(增加了一些默認實現)。
WebMvcConfigurerAdapter在SpringBoot2.0及Spring5.0中WebMvcConfigurerAdapter已被廢棄 。
官方推薦直接實現WebMvcConfigurer或者繼承WebMvcConfigurationSupport
二、WebMvcConfigurer類方法概覽
package org.springframework.web.servlet.config.annotation;
import java.util.List;
import org.springframework.format.FormatterRegistry;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.lang.Nullable;
import org.springframework.validation.MessageCodesResolver;
import org.springframework.validation.Validator;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
import org.springframework.web.servlet.HandlerExceptionResolver;
public interface WebMvcConfigurer {
default void configurePathMatch(PathMatchConfigurer configurer) {
}
default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
}
default void configureAsyncSupport(AsyncSupportConfigurer configurer) {
}
default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
}
default void addFormatters(FormatterRegistry registry) {
}
default void addInterceptors(InterceptorRegistry registry) {
}
default void addResourceHandlers(ResourceHandlerRegistry registry) {
}
default void addCorsMappings(CorsRegistry registry) {
}
default void addViewControllers(ViewControllerRegistry registry) {
}
default void configureViewResolvers(ViewResolverRegistry registry) {
}
default void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
}
default void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {
}
default void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
}
default void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
}
default void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
}
default void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
}
@Nullable
default Validator getValidator() {
return null;
}
@Nullable
default MessageCodesResolver getMessageCodesResolver() {
return null;
}
}
三、 WebMvcConfigurer常用方法介紹
/* 攔截器配置 */
void addInterceptors(InterceptorRegistry var1);
/* 視圖跳轉控制器 */
void addViewControllers(ViewControllerRegistry registry);
/* 靜態資源處理 **/
void addResourceHandlers(ResourceHandlerRegistry registry);
/* 默認靜態資源處理器 */
void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer);
/* 這裏配置視圖解析器 */
void configureViewResolvers(ViewResolverRegistry registry);
/* 配置內容裁決的一些選項*/
void configureContentNegotiation(ContentNegotiationConfigurer configurer);