00:00
好,那我们刚才经过测试,然后咱们的这五种方式呢,然后都可以向咱们的request预对象共享数据,好那所以说呢,这五种方式建议大家不要使用咱们的solve API对吧?因为咱们的spac已经为我们提供了四种方式,对不对,对吧?好,那我们下面呢,那我们来看一下咱们的这个model model map,还有map它们之间的一个关系啊,比如说这样啊,首先呢,大家看我在我的这个控制器方法中啊,然后呢,我在咱们当前往请求域共享数据的这些对象里面,然后大家看好我共享完数据之后,然后我把咱们的这个model对象给他输出,OK吧啊,我把这个model对象给输出啊,当然呢,咱们先简单看一下,因为其实在这它输出的是一个什么,输出的是一个不是内存地址,我们一般情况下,咱们把咱们的一个对象输出,输出的什么内存地址呀,对不对,但是在这它。
01:00
输出的不是内存地址啊,来,大家看好,我在这把谁输出,把这个map输出,然后在这个地方呢?然后咱们把什么输出,把咱们的model map,然后输出,OK,大家看好,来啊,重新部署,咱们看一下它输出的内容是什么啊,看一下输出的内容是啥来。好,咱们来清空一下,那我是不是分别来访问咱们的后边的三个方法就行,对不对?来点击第一次,再点这是第二个,再点这是model map,来咱们现在看咱们idea它的一个什么,Idea的一个控制台,大家看你看这个东西长的是这样的,这个东西长的是这样的,这个东西啊长的是这样的,大家会发现它长得一样不一样,咱们现在输出的不是内存地址,咱们就看它,最终它的to重写了to string之后,这肯定输出的是to string方法重写之后的内容啊,是不是啊,好,然后大家就看他的to string重写之后的内容是不是一模一样的,是不是对吧?那大家想想他有没有可能他用的是同一个类啊,大家说啊,有没有可能,就比如说大家看你看咱们的这个model map,大家看一下,然后来咱们点开之后,大家看这是不是一个类对不对,对吧,然后咱们再来看咱们的map,这步说了这肯定。
02:23
是一个接口嘛,是不是是吧?然后大家注意这个map就是我们GDK中所学习的map,能听懂吧,好再往下大家看咱们的这个model,大家看一下这是不是应该也是一个接口,能看懂不?哎,也是一个接口啊,好,然后那所以说这两个东西是没有直接没有办法直接创建对象的,需要通过它的实现类创建,对不对,对吧?那虽然说咱们当前的这个类型啊,然后它确实是一个普通的类,但是这个类是不是也可以存在此类,对不对,对吧?所以说大家想想,你看输出的内容是一样的,那说明他们to string方法里面所所to string方法重写之后的内容是一样的,对不对?那有没有可能咱们当前这三个对象在进行实例化的时候,用的是同一个对象实例化的呢,是不是啊好,那大家看我现在要想把它们的类型给输出,那咱们怎么输出呀。
03:23
大家想想怎么输出点,咱们是不是学过反射啊,是不是啊,那反射的话,大家想想里面是不是有一个class.get class,获得class对象,然后再点get name,是不是就可以来获取当前类的全类名,对不对,是不是好,所以说来咱们复制一下,把它复制一下放到这,然后再把它给放到这,那这个时候咱们就能够看到咱们的model,还有咱们的map,还有就是咱们的model map他们的一个全类名了,对不对,也就是说咱们获取的是当前这个类型的全类名吗?博是咱们获取的应该是它的实现类,就是真正为它进行实例化的这个类型的权利,对不对,对不对啊行,来下面呢,我们再来重新部署一下,大家来看来咱们清空一下啊。
04:20
它OK,重新部署成功,然后下面那大家看好刷新,我是不是还需要先访问它,然后再访问它,然后再访问它,能看懂吧,来大家看一眼啊,来看这个地方,看它的权利名叫做Bing a model map,再看这个Bing a while model map,再看这个Bing a while model map,一样不一样,一样一样,所以说大家会发现咱们当前为我们当前的这个能够望请求欲。请求域中,然后共享数据的这三个对象啊,然后他们在底层的实现,也就是说为我们当前这个行参进行赋值的对象,是不是应该用的是同一个,对不对,对吧?好,那大家想,既然咱们在这用的是同一个,那说明啥呀?
05:14
啊,既然是同一个,那说明什么?那说明这三个东西必定是有关系的呀,大家说对不对呀,对吧,必定是有关系的,要不然他们怎么能,他们怎么可能是可以通过同一个类,然后来进行实例化呢?大家说对不对,是不是啊对吧?好,然后所以说下面大家看好,咱们把model给它打开,这是一个接口,那这个接口既然它没有去继承其他的接口,那这说明这算是我们spring VC中操作模型数据最顶层的接口了,大家说对不对,对吧?好,然后下面呢,我们那map,那你就不用打开了,把这map,那这就是咱们JDK中的map是不是啊好,那我们再来看咱们的model map,大家看一下,你看这个东西啊,Model map它继承了谁?Link的哈希map,那link的哈希map是不是又实现了咱们的map接口,对不对,那所以说我们当前的这个东西是不是我。
06:14
我们map接口的实现类是不是是不是。你想想嘛,这个东西继承了它,它又实现了咱们的map接口,那大家说这个东西是不是也属于咱们map的一个时间类,对不对,对吧,好,OK,那我们下面咱们再来看,这是model map,那帮ing a well model map这个东西从哪去找呢?那我们要想来看当前这一个类的继承或实现结构,我们应该按CTRL加H,对不对,对吧?好,CTRL加H大家看一下,你看在这个地方,这个东西叫做ready RA ortribute model map ready record是不是重定向的意思,对不对,对吧?然后下面呢,咱们再来看这个地方有一个叫做extended的,然后model map是被继承的,这个model map是不是啊,来咱们打开之后啊,大家看这个地方是谁,这不就是我们所看到的Bing a well model map吗?是不是啊,是吧?好,那所以说现在大家来看一下我们当前咱们的这个。
07:20
够啊,首先咱们把这个东西给它点开,大家来看这个东西来看啊,你看它都干了点什么看看啊,Bing a well model map是不是继承了的model map,那我们要想来看它的实现和继承结构,我们是不是还要去看它对不对,对吧?好,当我们把它给点开之后,大家自己看一下它继承了谁?Model map,所以说我们当前的帮ing a well model map可不可以来创建咱们的model map对象,可不可以,可不可以来对它进行实例化,可以没问题吧?好,大家再看它又实现了咱们的model接口,那所以说咱们的Bing a well model map能不能去实例化?咱们的model可不可以啊,可以,OK,大家再想咱们的model map是不是继承了link的哈希map,也就是实现了map接口,所以说帮ing a well model map可不可以来实例化。咱们的map对象可。
08:20
不可以啊,可以能听懂吧,能听懂吧,好,OK,所以说这个就是它们三个的结构,大家注意啊,首先咱们的model是个什么接口,是不是啊,好,然后下面咱们的这个model map继承了link的哈奇map,好,然后我们的extend的model map,它去继承了model map,也就是它又去实现了咱们的model接口,那所以说那我们当前这个类,它所对应的子类就可以去实例化我们的model map也可以实例化咱们的model,那因为咱们的model map要继承了阿新map,那所以说我们当前咱们的帮a well model map是不是也可以实例化咱们的map集合,对不对,能听懂吧,很好啊,行,所以说这个就是他们之间的关系啊,好,Model model map和map之间的关系,能听懂吧啊。
我来说两句