SpringMVC组件

文章目录

HandlerMethodArgumentResolver

作用:用来解析Controller类@RequstMapping方法参数的处理器

类名 处理的条件 supportsParameter
1 RequestParamMethodArgumentResolver 被RequestParam标注且不被@RequestPart注解标注,如果标注的是map类型
2 RequestParamMapMethodArgumentResolver 被RequestParam标注且是Map的子类
3 PathVariableMethodArgumentResolver @PathVariable标注
4 PathVariableMapMethodArgumentResolver @PathVariable的Map参数
5 MatrixVariableMethodArgumentResolver @MatrixVariable
6 MatrixVariableMapMethodArgumentResolver @MatrixVariable+Map
7 ServletModelAttributeMethodProcessor 如果使用 {@ link ModelAttribute} 对参数进行批注,则返回 {@ code true}; 如果在默认解析模式下,则对于不是简单类型(CharSequence,Enum或者number类型)的任何方法参数,则返回 {@ code true}。
8 RequestPartMethodArgumentResolver RequestPart 或者不被RequestParam标注的Multipart类型(文件上传)
9 RequestHeaderMethodArgumentResolver RequestHeader标注且不是Map类型
10 RequestHeaderMapMethodArgumentResolver @RequestHeander注释的Map入参
11 ServletCookieValueMethodArgumentResolver @CookieValue标注
12 ExpressionValueMethodArgumentResolver @Value
13 SessionAttributeMethodArgumentResolver @SessionAttribute
14 RequestAttributeMethodArgumentResolver @RequestAttribute
15 ServletRequestMethodArgumentResolver WebRequest|ServletRequest|MultipartRequest|HttpSession| InputStream|Reader|HttpMethod|Locale|TimeZone类型或者参数类型叫java.time.ZoneId
16 ServletResponseMethodArgumentResolver ServletResponse,OutputStream或者Writer的子类
17 HttpEntityMethodProcessor 参数类型为HttpEntity或者RequestEntity
18 RedirectAttributesMethodArgumentResolver 参数类型是RedirectAttributes的子类
19 ModelMethodProcessor 类型是Model的子类
20 MapMethodProcessor 参数是Map类型的
21 ErrorsMethodArgumentResolver 参数是Errors子类
22 SessionStatusMethodArgumentResolver 参数为SessionStatus类型
23 UriComponentsBuilderMethodArgumentResolver 参数类型UriComponentsBuilder或者ServletUriComponentsBuilder类型
24 RequestParamMethodArgumentResolver 参数标注@RequestParam|| 不被@RequestPart标注的文件类型或简单类型
25 ServletModelAttributeMethodProcessor @ModelAttribute 或者不是简单类型

有时间会更新的

相关推荐
烙印6016 小时前
Spring容器的心脏:深度解析refresh()方法(上)
java·后端·spring
我真的是大笨蛋6 小时前
Redis的String详解
java·数据库·spring boot·redis·spring·缓存
七七七七077 小时前
【Linux 系统】打开文件和文件系统
linux·运维·spring
sg_knight8 小时前
Spring Cloud与RabbitMQ深度集成:从入门到生产级实战
java·spring boot·spring·spring cloud·消息队列·rabbitmq·stream
Bug退退退1239 小时前
Java 网络流式编程
java·服务器·spring·sse
默默coding的程序猿11 小时前
1.单例模式有哪几种常见的实现方式?
java·开发语言·spring boot·spring·单例模式·设计模式·idea
安逸sgr11 小时前
SpringMVC启动流程
java·jvm·spring·spring cloud·eclipse·tomcat·maven
纤瘦的鲸鱼12 小时前
Spring Gateway 全面解析:从入门到进阶实践
java·spring·gateway
cxyxiaokui00115 小时前
还在用 @Autowired 字段注入?你可能正在写出“脆弱”的 Java 代码
java·后端·spring
珹洺15 小时前
Java-Spring入门指南(二十二)SSM整合前置基础
java·开发语言·spring