基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer
接口,WebMvcConfigurerAdapter
抽象类是对WebMvcConfigurer
接口的简单抽象(增加了一些默认实现),所以上面配置代码选择直接继承WebMvcConfigurerAdapter
。然后根据项目的需要实现接口中特定的方法,最后要注意的是,要在配置类上标注@EnableWebMvc
。
WebMvcConfigurer
接口都提供了哪些回调方法? WebMvcConfigurer
package org.springframework.web.servlet.config.annotation;/** * 篇幅原因,我们先只介绍Spring mvc常用的一些方法 */public interface WebMvcConfigurer { void addFormatters(FormatterRegistry registry); void configureMessageConverters(List> converters); void extendMessageConverters(List > converters); Validator getValidator(); /* 配置内容裁决的一些选项*/ void configureContentNegotiation(ContentNegotiationConfigurer configurer); void configureAsyncSupport(AsyncSupportConfigurer configurer); /* @since 4.0.3 */ void configurePathMatch(PathMatchConfigurer configurer); /*参数解析*/ void addArgumentResolvers(List argumentResolvers); /*返回值解析*/ void addReturnValueHandlers(List returnValueHandlers); /*异常处理*/ void configureHandlerExceptionResolvers(List exceptionResolvers); void extendHandlerExceptionResolvers(List exceptionResolvers); void addInterceptors(InterceptorRegistry registry); MessageCodesResolver getMessageCodesResolver(); void addViewControllers(ViewControllerRegistry registry); /** * 这里配置视图解析器 */ void configureViewResolvers(ViewResolverRegistry registry); /** *静态资源处理 */ void addResourceHandlers(ResourceHandlerRegistry registry); void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer); void addCorsMappings(CorsRegistry registry); }