HandlerMethodArgumentResolver 这个接口,在spring mvc中主要用户controller,参数解析。初始化在RequestMappingHandlerAdapter 中的afterPropertiesSet 方法中,getDefaultArgumentResolvers方法
从上面可以看出一共添加分四类,一类 是Annotation解析例如@PathVariable,
一类是特殊参数实体如HttpEntity,一类是自定义的解析器,需要放入customArgumentResolvers 这个list里面,剩下两个解析所有的
其中的RequestParamMethodArgumentResolver 解析简单类型 如string integer long
其中的ServletModelAttributeMethodProcessor解析复杂类型,主要是自定义的类如User。
在使用的时候通过HandlerMethodArgumentResolverComposite这个类,组合设计模式,这个类自己不负责干活,组要是使用里面的list真正的做事。
HandlerMethodArgumentResolver 这个接口就两个方法
一个support判断当前的resolv是否支持当前的参数,resoveArgument用户真正的解析。