SpringMVC 4.0 确定目标方法POJO类型入参的过程

来源:互联网 发布:linux常用的命令有哪些 编辑:程序博客网 时间:2024/06/08 00:23

1.确定一个key:

1.>若牧宝方法的POJI类型的参数木有使用@ModelAttribute作为修饰,则key为POJO类名(全是小写的)

2.>若使用了@ModelAttribute来修饰,则key为@ModelAttribute注解的value属性值

2.在implicitModel中查找key对应的对象,若存在的键和目标方法参数类型的第一个字母小写的字符串一致则作为入参传入

若在@ModelAttribute标记的方法中在Map中保存过,且key和1确定的key一致,则会获取到。

3.若implicitModel中不存在key对应的对象,则检查当前的Handler是否使用@SessionAttributes注释修饰,若使用了该注释,且@SessionAttributes注释的value属性值中包含了key,则会从HttpSession中获取key所对应的value值,若存在则是直接传入到目标方法的入参中,若不存在则将抛出异常

4.若Handler没有标识@SessionAttribute注解活@SessionAttribute注解的value值中不包含key,则会通过反射来创建POJO类型的参数,传入作为目标方法的参数。

5.SpringMVC会把key和value保存到implicitModel中进而会保存到request中

阅读全文
1 0