00:00
下面呢,我们来分析一下model tribute的运行原理,我们分两方面哈,第一方面我们先思考。第二方面,结合源代码。先呃,抛开源代码,看一下这个运行的过程和原理是什么样的。哎,我们看到的是什么呢?先执行model tribu这个注解修饰的方法。取出对象,把这个对象放在了map里边,对吧。好了,这看到的就是。传入目标方法的这个参数。这个参数是一个对象,这个对象的部分属性。是从数据库里边获取的,比方说密码,还有一部分属性是表单映射过来的,对吧?那OK,我们关心的是在这两个方法中间又发生了什么呢?
01:01
换成什么了,你这一块把这个对象放里了,那一定有一个时刻,是不是MVC把这个对象又取出来了,对吧。同时,Mac负责把。表单请求参数付给取出这个对象对应的属性,然后再把这个对象传给目标,方法是这样吧。OK,我们来写一下。运行流程第一步,执行model attribute注解。修饰的方法是吧,嗯,干了两两件事,从数据库中取出对象,然后呢,把对象放入到了map中,注意一个啊键为优。
02:13
第二步,VC帮我们干的MVC从map中取出。You的对象。并把表单的请求参数覆盖。该U的对象的对应属性三、spring mvc把上述对象。
03:02
传入。嗯,标方法的参数,诶这就是整个的执行过程是吧,我们看到的第一步能看到。传入这个目标参数呢,我们也看到了,中间这个是through VC帮我们完成的,一会儿的话呢,我们结合源代码看一下好的分析完之后啊。我们看一看有哪块儿。貌似会有点儿问题哪块啊。再看这块儿哈,我这放的时候的话呢。我理所应当的,我把这个属性,把这个键的名字写成了优点,为什么优点。类名是优点嘛,第一个字母小写啊优点,然后呢,嗯,我这个程序是可以正常执行的。那我来问一下大家,我要是把这个优点随便写成一个,写个ABC好使吗?
04:06
这样的话,这个程序还能够正常运行吗?我们先看一下。执行的过程。提交。我们看到从数据库里边呢,把这个对象取出来了是吧,但是。在修改的时候,这个密码却是空,这个密码是空的话,说明。传入到目标方法,入参的这个对象开始是新创建的。然后呢,VC把表单请求参数付给了新创建这个对象的部分属性,而这个没传嘛,所以说还是空是吧,诶注意。注意一个什么呢,我们在放的时候啊,这个属性呢是U,哎,我们隐约的感觉到。
05:08
我在放的时候。这个见。应该是。我在入参里边这个类名第一个字母小写所对应的那个字符串是吧?我先写上。注意在model attribute修饰的方法中放入到map时的键需要和目标方法入参。类型的第一个第一个字母小写的字符串一致是吧?哎,我们已经验证了,必须一致好了,那下边的话呢,我们要看两个问题,第一个问题。
06:11
如果不一致的话,还能够正常运行吗?第二个问题,我们要把我们这个第二步这个过程用源代码去验证一下。这个下节课说。
我来说两句