00:00
源代码分析完了,如果你是第一次来分析源代码的话,可能会感觉有些许之力,不要紧,我们这节课首先来做一个小结,实际上呢,分析完这个源代码之后啊,我们主要得到结论就是super VC如何来确定目标方法poo类型的入参,对吧,OK spring。MVC确定,嗯,标方法。Pogo类型入参。的过程,第一个我先需要确定一个K是吧,如何确定我们再说,然后呢,在这个中查找key对应的对象,若存在则。
01:04
作为入三存入三,若这个中不存在key对应的对象,则检查。当前的handlera是否使用session attribute注解修饰对吧?注解修饰,若使用了该注解切,这个切写错了。且这个注解的Y6属性值中包含了key,则会。
02:09
从http session中来获取K所对应的。Y溜直若存在,则直接传入到。目标方法的入参中啊,若不存在则将抛出异常是吧。四说,若。Handler。没有标识。
03:01
这个注解。或这个注解中。这个注解的Y6值中不包含K,则会通过反射来创建pogo类型的参数,然后呢,呃,传入。为入参重认为目标方法的参数好的五还有一个spring VC会把key和value,就是我们上面那个value哈,传入到哪个中啊。
04:03
保存到好一些是吧,保存到这个中。然后呢,进而会保存到request中。好了,这就是我们上节课分析之后得到的结论,还差点意思,如何确定key啊?第一个说洛目标方法。目标方法的pogo类型的参数木有使用。At model attribute作为修饰,则K为。Pogo类名。第一个字母的小写二若使用了at model attribute来修饰,则key为什么呀为。
05:21
ADD model attribute注解的Y流属性值看到了吧?这就是整个的过程。看首先呢,确定了一个key,然后呢,我在这个implicit model中查找这个key,如果有的话作为参数传入,那再说一个吧,什么时候有啊,说若在at model attribute。
06:00
标记的方法中。在map中保存过切切。K和一确定的K一致,则会获取到是吧?好的,如果这里边要是没有呢?那就看当前的handler是不是标记了session attributes。如果标记了,然后呢,当前的这个三生的tribute的Y轴属性值里边还包含了这个key,则它会强制从三里边来获取,如果获取不着的话,跑一程。如果当前的haler没有标记这个sectiontributes,或者是呢,标记了section attributes,但是呢,呃,外轴属性值里边没有包含这个K。
07:08
则会通过反射来创建pogo类型的这个参数。传入目标方法。最后呢,是不是m Mac还会把这个K跟我这个pogo类型的这个对象吧,啊保存到it model这个里边,进而呢,会放在request里边,这就是VC确定目标pogo类型入参的全过程。源代码呢,上节课已经看了哈,你要感兴趣的话,你再看一下,你要是源码确实是觉得分析的不太明白的话,你把这个结论记住了。
我来说两句