spring mvc参数解析 (一)HandlerMethodArgumentResolver

本文深入探讨了SpringMVC中HandlerMethodArgumentResolver接口的作用,它主要用于控制器参数解析。文章详细介绍了四类解析器:注解解析器如@PathVariable,特殊参数实体如HttpEntity,自定义解析器及通用解析器。并通过HandlerMethodArgumentResolverComposite类实现组合设计模式,高效处理参数解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HandlerMethodArgumentResolver 这个接口,在spring mvc中主要用户controller,参数解析。初始化在RequestMappingHandlerAdapter 中的afterPropertiesSet 方法中,getDefaultArgumentResolvers方法
在这里插入图片描述

从上面可以看出一共添加分四类,一类 是Annotation解析例如@PathVariable,
一类是特殊参数实体如HttpEntity,一类是自定义的解析器,需要放入customArgumentResolvers 这个list里面,剩下两个解析所有的
在这里插入图片描述
其中的RequestParamMethodArgumentResolver 解析简单类型 如string integer long
其中的ServletModelAttributeMethodProcessor解析复杂类型,主要是自定义的类如User。

在使用的时候通过HandlerMethodArgumentResolverComposite这个类,组合设计模式,这个类自己不负责干活,组要是使用里面的list真正的做事。

HandlerMethodArgumentResolver 这个接口就两个方法
在这里插入图片描述

一个support判断当前的resolv是否支持当前的参数,resoveArgument用户真正的解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值