00:00
那我们什么是事物这边配好以后呢,我们持久化层哈,基本上就OK了,来看一下我们之前这个总体的目标哈。现在相当于我们有什么了呢?这个呃,工程是按M去建的工程,然后spring和MY能够整合了,然后呢,我们也加入了这个事物的系统,呃,然后呢,在这里边我们也配了什么是事物啊,这个持久化层这一套差不多了,下一步呢,就是我们进入到我们的SVC。啊,这是这是我们相当于是我们这个表述层。那么在spring Mac这儿呢?我们需要配的东西吧,其实也不少啊,特别是这些配置已经不仅仅在spring的配置文件里边了,我们还得在外边毛,里边还有些东西要配。表述层的这个配置。那么首先呢,我们先去看一下,呃,我们外部的磁毛和。
01:03
呃,Spring啊,他们配置文件的关系。怎么去梳理这个关系哈。嗯。你看我们如果有一个动态外部工程。啊,这个ma这个其实它也是一个外部工程嘛,我们要跑的话,就是把它呢,放在我们这个Tom cat这跑。哎。那么一个tomcat呢,它可以啊,它可以包含很多个,它可以运行很多个web项目。哎,它可以运行很多个外部项目。我们把这个拿过来哈。嗯,这是服务器。
02:02
嗯。这个我我我就咱们直接在这个下边,这这是我们的外部用。别看我。别看我看屏幕。看我,我会害羞的。这是我们外部用。那么这个tomcat它启动的时候呢,它会来扫描我们这个web应用的web。CAD启动时扫描每一个。Web应用的web。啊,扫描每一个外部用的外表细胞。然后呢,我们在这个web加S毛里边啊,我们要配的这个东西呢。
03:00
嗯。有这样一些个东西啊,有三大件。一个是监听器。我们的listener。哎,然后有过滤器有。过滤器是filter。嗯。还有还有还有。我们将web。学这些东西呢,其实吧。其实是为了就是配这个框架。啊,其实是为了配这个框架。哎,我们这样画一下这个箭头哈。嗯。那么我们说具体来说啊,这个filter呢。啊,这样吧,咱们不按这个那啥哈,咱们这么说,这个survey是其实是最重要的,这里边是配我们PA survey。
04:02
哎,这个也也有人呢,喜欢叫这个叫spring Mac的叫前端控制器。呃。哎,So,基本上咱就就是配这一个。然后这个filter呢。Filter,我们首先要配这个给我们拐,哎,字符集的这个。这个叫character。还有一个是我们帮我们实现的风格的那个。黑的HDDP。Method,这个filter。这玩意儿,这个线往哪画。我是不是让他离得远一点?嗯,这个有点太长了,我们来这里边找一下啊,Ctrl shift t。
05:02
黑的。诶呃,哎,就这个啊,对,就是这个。哦,忘了不要全类名。哎,就是有一个是他。那么外部应用启动的时候啊,对了,还有一个我们得把这个监听器这个说上啊,Contact listener。Contact listener。诶,要配的就是这样几个东西啊,但是然后这个其实呢,如果我们不用这个rest风格。我们不做把post转put或delete这样的事儿,这个其实呢,这个你不配也行,对吧,所以说呢,最基本的就是这三大件。
06:04
哎,这三条件,那么启动的时候呢,它会先先创建这个对象,再创建这个对象,然后呢,再创建这个对象。那么这个里边呢,我们用这个listener。他去加载spring的配置文件。也就是谁呢,就是我们这儿这个。这两个他俩哎。Contact listener,它加载的是这个。其实好像普通话应该念念加在。念载的话是三年五载。幸亏现在不参加高考了。半夜想起来高考还吓醒了。
07:01
高考是人生的一场噩梦,对吧?高中的老师骗我们说,这个你们上了大学就轻松了。轻松个轻松个毛线,上大学又不等于说上大学就有工作。我上大学那会儿,天天背着包上自习。完了,一考试就挂。为什么?因为因为我我想把它学会。因为我想学会,我想知道这东西到底咋回事。我要是为了考试去学的话,就就就不会挂了,对吧。学高数,高数微积分导数极限是吧,那个东西我现在都不会。嗯。有,有机会给你们讲讲,我大学是多么的黑暗啊。我大学上的是师范学校。师范学校你们知道有一个特点吗?
08:02
女生特别特别多。结果,但是我当时就没有反应过来,我压根儿就没有往这方面想。我就天天背着班上自习了。呃。对我想说啥来着,加载这个配置文件,我们去创建。叫spring的LC容器。Spring的LC容器。上大一的时候,我认为体育还能挂人。我就不相信体育还会挂,我就没当回事,结果真的挂了,哎。第二年重修,然后去交了60块钱,我现在还记得去体育那交60块钱让你让你过来。但是高数就没有这么幸运了。高数,高数是。
09:02
那个你得重新去考,我从大一一直挂到大四。Spring,我们下边建一个MVC的哈。这个配置文件我们去给它建出来。啊,里边写啥,后边再写哈。我们现在只是拿它先说个事儿。你们上大学应该比我幸福吧?应该。应该一考试就过吧?呃,Dis despite,加在加在我们spring这个spring的配整键。嗯。这个filter就不对应什么配置文件了啊,他就是去拦截到请求去一设置就完事了。
10:00
哎,它加载这个配置文件,它加载这个配置文件呢,它创建一个MC的LC容器。这个时候呢,我们这个项目跑起来。就一共有两个LC容器。喂喂。我老担心他没有生。是有两个LC容器,这俩LC容器呢是有关系的。这俩LC容器是父子关系,谁是爸爸?这个是爸爸,为啥他是爸爸?为什么他是爸爸?啊。对,因为contact order listener比disper so呢,它创建对象要早,它一加载一创建这个监听器的对象,它一初始化就会去加载这配置文件,就初始化,初始化这LC武器了。这个LC容器呢?是谁先出来,谁当爸爸?
11:03
对吧,哎,每次他们启动起来以后呢,都会去检测现在在我之前有没有LC容器,如果没有的话,我就自己就是就是这个跟级别root这个级别。然后后边再来LC容器,它检测到前面已经有一个LC容器了,他就认这个LC容器呢,当爸爸。嗯。以前我我讲到这儿的时候,有下边就有,就有同学占我便宜。看来咱们班同学还是很友好的哈。呃,这个是负容器。负容器。我觉得我讲的课牺牲太大了。啊,这是子容器。
12:03
哎,然后它会检测啊,检测这个负容器是不是存在。如果存在的话呢,它会做一个set parent。去设置啊,去建立这个父子关系。哎。建立父子关系。这是一个。爸爸去哪儿的节目。这个得到它底层才能看到啊,这个到它底层才能看到,这个看它源码能够看到有这样的代码哈。哎,这就是一个它们互相之间的一个关系,当然那么这个LC容器在这个,因为加载的是这两个配置文件。啊,所以说呢,这里边儿吧。他有谁呢?他有我们这个叫,呃,将来我们写handle格。
13:05
呃,写这个呀,不对不对,这是service啊,Service在这里边。呃,然后呢,我们的买贝蒂斯的这个map在这里边。这些东西呢,是在这个这个容器里边的。对,什么是事物也在这个里边。我们在这个service这写一下。这个是带事物的。然后呢,这个LC容器里边有谁呢?这就是我们的handle。嗯,咱们学SPA Mac的时候是不是叫是叫controller是吧。都行哈,都行,叫汉字也是指的是同一个东西啊。我我我个人习惯上叫ha,然后呢,还有就是我们如果写,如果我们写拦截器的话,拦截器也是在这个里边的。
14:00
啊,兰系也是在这个里边的intercept。包括我们在这里边儿呢,还要去配那个异常的映射。异常映射的这个机制呢,也是在这个里边。叫异常处理也可以啊,咱们不抠字眼哈。那么呃,有一个问题,就是说我们handler要去装配service service去装配这个map。哎,对,这个时候我们可以这么写啊,咱们把这个装配的关系也写上。哎,去装配这个。这时候就是给大家去等于说这个吧,也是梳理哈,我们SM整合以后,我们项目里边的各个配置文件,我们写的这个Java的类啊,然后呢,他们之间的这个关系啊,他们是怎么个关系。他去装配的是我们买beat。
15:03
当然了,它能能去装配这个map呢是。得靠scan configual把它扫描进来。这在这个前面这说的哈,这我们就不说了,然后这个handler呢,Handler再去装配我们的service。这个好像应该是我想想啊。嗯,是service装配到handler里边。哎,所以这个箭头我觉得应应该是应该是这么画哈。这个装配到里边这个箭头这么画。这个会会好一些啊。有一种你体会这个投怀送抱的感觉。哎。然后呢,当然,呃。
16:03
我们在这边吧,这个页面什么的也都在这边啊,不过现在咱们先不说这个页面的事儿。这个麦是有一会儿响,一会儿不响。
我来说两句