文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
3.2 参数解析 和 结果转换
Spring MVC 中参数到各种类型的转换由 HandlerMethodArgumentResolver 接口完成,而 Controller 返回值到真正的响应的转换由 HandlerMethodReturnValueHandler 接口完成。两者分别负责 Spring MVC 中数据的输入与输出,可用下图表示:
HandlerMethodArgumentResolver 接口及其主要实现类如下图:

HandlerMethodReturnValueHandler 接口以及主要实现类如下:

其实有很多类同时实现了两个接口,比如 RequestResponseBodyMethodProcessor,这样的类一般以 Processor 结尾。
两种转换器的初始化由 HandlerAdapter 完成,这也很好的体现了 HandlerAdapter 接口的功能。以喜闻乐见的 RequestMappingHandlerAdapter 为例,其初始化的 HandlerMethodReturnValueHandler 列表如下:
- ModelAndViewMethodReturnValueHandler
- ModelMethodProcessor
- HttpEntityMethodProcessor
- HttpHeadersReturnValueHandler
- CallableMethodReturnValueHandler
- DeferredResultMethodReturnValueHandler
- AsyncTaskMethodReturnValueHandler
- ListenableFutureReturnValueHandler
- ModelAttributeMethodProcessor
- RequestResponseBodyMethodProcessor
- ViewNameMethodReturnValueHandler
- MapMethodProcessor
- ModelAndViewResolverMethodReturnValueHandler
从中也可以推测出我们可以把哪些类型的值(对象) 直接"丢给"Spring。
对于 HandlerMethodArgumentResolver 和 HandlerMethodReturnValueHandler 来说,HttpMessageConverter 像是两者手中用来实现功能的武器。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论