spring mvc 定制化配置

spring mvc 自定义配置

1.实现某些处理器的接口.

class MyHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {


    @Override
    public boolean supportsParameter(MethodParameter parameter) {
        System.out.println("开始请求自定义配置");
        return false;
    }

    @Override
    public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
        return null;
    }
}

2.继承WebMvcConfigurationSupport 类,并采用@Configuration注解,然后覆盖父类的方法,添加自定义的实现方法.

@Configuration
public class MyWebConfiguration extends WebMvcConfigurationSupport {

    @Override
    protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        //添加自定义的参数解析类
        argumentResolvers.add(new MyHandlerMethodArgumentResolver());
        super.addArgumentResolvers(argumentResolvers);
    }
}


该配置类可以用于注册以下请求处理器(HandlerMappings):

  1. 优先级0,请求映射处理(RequestMappingHandlerMapping).
  2. 优先级1的将URL路径直接映射到视图名称的处理器(HandlerMapping).
  3. 优先级2,用于通过url查找对应controller的处理器(BeanNameUrlHandlerMapping).
  4. 优先级倒数第2,用于静态资源的处理器(HandlerMapping).
  5. 优先级倒数第1,用于请求转发的Servlet处理器(HandlerMapping).

注册以下适配器(HandlerAdapters):

  1. 用于处理controller里面采用注解方法的适配器(RequestMappingHandlerAdapter),比如@RequestMapping.
  2. 用于支持上次HTTP请求以促进内容缓存适配器(HttpRequestHandlerAdapter).
  3. 用于处理实现接口Controller的控制器的适配器(SimpleControllerHandlerAdapter).

注册以下异常处理器(HandlerExceptionResolverComposite):

  1. 处理方法异常@ExceptionHandler的异常处理器(ExceptionHandlerExceptionResolver).
  2. 处理响应异常@ResponseStatus的异常处理器(ResponseStatusExceptionResolver).
  3. 其他已知异常的异常处理器(DefaultHandlerExceptionResolver).

注册AntPathMatcherUrlPathHelper:

  1. 修改视图控制器(ViewControllers)的HandlerMapping.

转载于:https://my.oschina.net/lmxy1990/blog/3041684

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值