首页 > 代码库 > WebMvcConfigurer

WebMvcConfigurer

 基于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<HttpMessageConverter<?>> converters);    void extendMessageConverters(List<HttpMessageConverter<?>> converters);    Validator getValidator();    /* 配置内容裁决的一些选项*/    void configureContentNegotiation(ContentNegotiationConfigurer configurer);    void configureAsyncSupport(AsyncSupportConfigurer configurer);    /* @since 4.0.3 */    void configurePathMatch(PathMatchConfigurer configurer);    /*参数解析*/    void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers);    /*返回值解析*/    void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers);    /*异常处理*/    void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers);    void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> 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);}

WebMvcConfigurer