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 是一个接口,它是 Spring MVC 框架中的一个扩展点,用于自定义和配置 Web MVC 的行为。通过实现该接口,可以在应用程序的启动阶段进行一些自定义配置,例如添加拦截器、配置视图解析器、设置静态资源路径等。 WebMVCConfigurer 接口定义了一系列的回调方法,可以通过重写这些方法来实现自定义配置。例如,常用的方法包括: 1. addInterceptors:用于添加拦截器,可以在请求处理之前或之后执行一些特定操作。 2. addViewControllers:用于配置简单的视图控制器,将一个URL映射到一个视图。 3. configureViewResolvers:用于配置视图解析器,将逻辑视图名称解析为具体的视图对象。 4. addResourceHandlers:用于配置静态资源的处理器,例如图片、CSS、JavaScript等文件的访问路径和存放位置。 5. configureDefaultServletHandling:用于配置静态资源的处理方式,默认情况下,Spring MVC 会使用 DispatcherServlet 处理所有请求,但可以通过该方法将静态资源交由容器默认的 Servlet 处理。 除了 WebMVCConfigurer 接口外,还有一个 WebMvcConfigurerAdapter 适配器类可以用来简化配置,它提供了一些默认的空实现方法,只需要重写需要自定义的方法即可。 需要注意的是,WebMVCConfigurer 接口和 WebMvcConfigurerAdapter 类已在 Spring 5.0 版本中被废弃,推荐使用实现 WebMvcConfigurer 接口的方式进行配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值