00:02
其实呢,我们说吧,这个这个也可以作为我们,呃,可以说是spring整合spring Mac的一个思路。你看就是比刚才声音大哈。好奇怪。这个可以看成是我们的思路啊,那么这个时候我们的这个目标呢。这个目标我们可以这么说,就是我们希望。能够让handler里边。Handler中去装配。我们的service。这是一个目标啊,这是目标一。然后还有一个目标呢,第二个目标。页面能够访问到我们的这个汉德。页面上点个超链接,能够去找handler handler里边有request mapping,哎,Request mapping呢,有需要的话可以叫service service叫map map找数据库。就这一趟都给它打通啊,所以说呢,这个目标的话,如果我们描述一下的话,就是从页面。
01:02
到我们。去找我们request mapping这个注解。找request mapping。然后呢,Handler呢,再去调。Service呢,去找这个map map找数据库。这一趟全部打通啊,打通,那么service到后边这一套已经打通了,我们handleler呢,能够去找service就行,同时呢,页面能够去找到汉字,哎,这是我们的目标。哎,下边这个呢,可以说就是我们这个其实就是思路。他们彼此之间的这个关系啊,我们在外边S毛里边需要配的是这些啊,然后在我们spac里边哈。哎,它和这个spring LC容器的这个关系。嗯,这样有了这个以后,下一步呢,我们先看在外部了,磁毛里边的这个配置。这个代码分几个部分啊,咱们先看在在外边里边的这个配置。
02:04
这个咱们一个一个说啊,咱们先去配置context loader listener。哎,找到我们外边的猫。呃,如果我们再教大家一招哈,你这个打开这个工程,打开src下边这样一层一层往下找呢,找这个这个很麻烦。那么我们如能不能直接把它打开啊,你看你打开一个类快捷键是ctrl shift t。那么这个时候外部展示毛不是一个类,它是一个文件,文件呢,把它看成资源,资源校准resource开头的字母是R。Ctrl shift2。你这输外边四毛啊,然后这边你定位好,你看你是到这个web UI下边啊去打开它,这样一下就打开了啊,这样就快,只要你知道这个文件叫什么名字啊,就一下就能打开。
03:05
就省得到里边一层一层去点了。对这个,然后找到这个文件,点一下这个。就一下子打开它所在的这个位置。我们是想尽一切办法去提高效率。提高效率,节约时间,然后呢,我们就可以去谈恋爱。Ctrl a。CTRLC。这是我们外边毛哈在这儿。咱们先配contact loader。这东西咱就不一点一点配了,对吧,这个只要我们eclipse里边有spring插件的话,我们这边就可以是有快捷方式对吧?哎奥斜杠调出来这个菜单到下边井号count listen这啊。呃,这边class。
04:01
Pass。这指定一下。我们这是spring的配整件现在有俩。有俩不要紧,他们前面是一样的。把不一样这改成星就好了。这就contacter啊,这个配就是这么配,然后它里边这个contacter里边呢。嗯。就是这几个方法,这看不出来啊。可以在这儿看一下啊,这个传给这个父。呃,负类的过道期了。哎,咱们去看一下这个contact。它的初始化呢,是在这里边做的。啊,这里边儿的东西就多了哈,In web application context初始化。这个外边的LC容器。这个application context大家要。建立起这样一个敏感的感觉,Application context就是谁呢?
05:00
它就是LC容器。啊,Application context,它就是LC容器,所有的其他类型的LC容器,你是呃接口形式的,还是这个抽象类,还是具体的这个类的呢,都是它的下边是子接口,或者是实验类或者子类等等。你看我们以前最熟悉的这个class application。哎,就是就是它下边。然后呢,你像有这个web application context,哎,在这这是一个,这也是一个接口,这是在web环境下边的一个LC容器啊,这些东西都是LC容器啊,将来咱们讲spring boot的时候呢,咱们还会去看到啊,很多地方是有这个。那么接下来的话呢,这就是说要初始化一个外部环境的LC容器。这个这传进来一个参数叫service context。我关于这个我想这么问哈大家,你觉得这个东西我们有没有学过?
06:01
啊,你看还是有挺多同学有些迟疑啊。想说没学过,心里边儿的,心里边内心的声音是这个啊,我怎么不认识这个,但是又不好意思说啊。对。就是我们GSP上面有。啊,GSP上面是四个是吧,配置context。Request。Session。然后就是在GSP里边叫application,在我们其实这个东西本身就是context。哎,然后如果你记得我们serve这个接口的话。Server这个接口里边呢,有一个方法叫呃,Get config。然后呢,你拿到survey conf so conf有个方法叫get so contact。拿到的也就是他。它代表什么呢?代表我们当前web应用。
07:01
所以在整个外部用范围内,它这个对象只有一个。啊,这是一个单立的一个对象,它只有一个。那么在这把它传进来呢,是为什么呢?就是为了后边吧,我拿到我们的loc容器。创建好这个对象以后呢,把它放到这个属性域里边了。你看在这儿。如果以前没有的话,这就创建一个新的。这边点进去。嗯,这边get parent,这边有said parent,这个意思是说,如果我获取的这个负是now。呃,然后呢,这边加载了这个副容器,如果他能找到副容器就设置一下,但是这个他肯定是找不到的啊,这边是conig and refresh,哎,就是这个这边是要进行这个配置啊,就是加载这个配置文件了,到这。推看这个啊,这个是一个首性名。
08:05
这是一个常量定义的一个属性名,根据以这个为属性名,把这个LC容器呢就放到了solid context属性域里边的。将来我们spring Mac那边呢,它凭啥能够找到前边创建好的那个LC容器,就是从这个service里边去取出来的。啊,因为你前面创建好就会放到service context里边。哎,这个源码咱们简单的就看这几个地方就好了哈,简单的看一看啊。
我来说两句