00:00
好,那下面呢,我们来看这个问题,叫做注解配置spring VC,大家注意这个东西啊,其实我们目前其实咱们用不用都行,因为我们现在咱们是初学阶段,对吧,然后咱们会叉L的配置就可以啊,当然呢,那如果说我们这个能提前呢,这个先看一下通过注解来配置spring VC也可以,所以说呢,这个大家注意也是咱们大家就按照我们给大家笔记里面所写的这些内容呢,然后大家想写的话就去写一下,你不想写的话,大家直接去复制,然后呢,复制到我们的项目中,然后大家最终呢,然后你去看一下最终的效果就可以啊。好,然后那我们现在呢,咱们注解配置spring VC,它是用来干什么的,其实就是通过我们的配置类,然后还有我们的注解呢,然后咱们去代替这个web点叉L和spring VC配置文件的功能。当然,Spring的配置文件咱们也可以用这种方式来配置。
01:00
啊,但是我们现在呢,咱们因为没有去完成一个spring和VC的整合,所以说呢,在这咱们只是通过注解来配置咱们的spring VC啊好OK,那下面呢,那我们来看,然后咱们首先先完成第一个任务啊,叫做创建初始化类,然后呢去代替我们当前的web点差苗,然后为什么就是我们现在咱们为什么能实现这样的一个功能啊,大家注意咱们在这上面呢,有非常长的一段话,咱们简单给大家介绍一下啊,他说在serve that3.0这个环境中啊,然后咱们的容器呢,然后会在类路径中serve that3.0,大家注意啊,好,然后容器会在类路径中去查找一个什么,实现了java.java x.solve.solve contain initialize这个接口的类。如果说找到这个类的话,然后咱们就会用它来配置咱们的solve容器,那我们是通过什么叫solve容器,大家都知道solve容器其实就是咱们的tomcat,那我们要想去配置咱们的tomcat的话,其实就是咱们的web的插苗,知道吧,所以说呢,这一句话的意思就是说在solve3.0的环境中,我们可以去找到谁呀,咱们可以在类路径下去创建一个类,然后让这个类去实现这个接口。
02:26
能听懂吧,好,然后这个时候咱们只要在类路径下有这个类,那我们就可以通过这个类来代替咱们的web的差苗,好然后spring呢,它提供了这个接口的实现叫什么叫spring of that contain initial lar,然后这个类呢,又反过来会查找实现了web application initialize的类,并将配置的任务交给他们来完成,也就是说什么?也就是说我们当前spring里面提供了这样的一个实现类。那因为我们去加入的第三方价包,它也是在类路径下的,对不对,所以说呢,我们当前咱们的tomca是不是就会去找到他,但是在这个类里面呢,它又反过来会去查找实现了这个接口的实现类,这个大家注意啊,好,然后把我们当前咱们的这个配置的任务交给谁,交给它的一个实现类,然后spring3.2中呢,又引入了一个便利的web application initializer的基础实现叫什么?叫做absttract a notation configgu dispart of that initialize,大家看啊,名字那是相当的长。
03:39
对吧?啊,这个名字是相当的长啊,当然呢,没关系,这东西又不需要我们把它背下来,对吧?你用idea的话,那咱们这里面都有提示对吧,你只要大概知道它叫什么就可以啊,好,然后呢,那所以说最终咱们的结论就是什么,如果我们当前的类去扩展呢,也就是继承了,大家注意啊,继承了咱们的abstract oration configgu dispature solve that initial LA,并将其部署到solve that3.0容器的时候,容器就会自动去发现它,然后并用它来配置solve that的上下文,啥意思?
04:16
也就是说,如果我们当前呢,然后咱们有一个类去继承了这个类的话,那我们当前咱们的tomcat容器啊,咱们的tomcat,也就是solve容器就会自动的去找到这个类,然后用它来代替咱们的web的差L就是这个意思。知道吧,哎啊好,那下面呢,咱们把这些东西都给它关掉,然后咱们呢,来停一下,然后我们下面咱们再来重新创建一个新的module。来,叫做spring。下划线MVC,然后下划线叫a not叫做an,好,然后下面咱们的这个group ID是com.at硅谷,OK,好,那我们现在咱们设置完了,把咱们当前的依赖呢给加入进来,找到咱们刚才创建这个工程,然后呢,把它的依赖和它的打包方式咱们都给它复制过来啊。
05:15
好,复制过来之后,下面咱们来音input进祭司。然后再往下呢,咱们是不是要来添加咱们的web模块了,对吧。在这呢啊好,然后咱们直接来创建咱们的web的插名是src下面的慢,然后下面的web APP,然后斜线OK啊。好,然后那我们设置完成之后,那我们现在大家说我们需要干嘛了,我们还需要去配置我们当前咱们的web点插苗吗?不需要了,知道不?哎,所以说咱们刚才做的那个任务,做的那个操作好像有点多余是不是啊,哎,咱们的这个web点插苗好像不需要创建了,对不对?所以说大家要知道我们现在做的这个操作是为了干什么,其实就是用一个类去代替我们当前咱们的各种配置文件,知道吧?好啊,那咱们把它删掉,那我们现在在我们的这个Java下面,咱们去创建一个类,比如说这个叫做com的艾的硅谷点conigg叫conve,然后在这咱们叫web in叫webit。
06:22
叫做web的初始化类,好,然后咱们需要让他去继承谁啊,叫做atract a config dispars of that initialize对不对?好,大家注意,咱们在这实现了继承之后,大家看你看这里面它是不是让我们去重写一些方法,然后咱们点击OK就行。首先呢,这三个方法它都是用来干什么的?首先第一个方法呢,大家注意叫做get root con classes,第二个叫做get solve that conflict classes,然后第三个呢,然后是来get solve that maps,来大家看这个方法的作用啊,然后是用来干嘛的,然后是用来配置啊,是用来配啊这个创建。
07:10
啊,或者说这样吧,咱们来来设置一个配置类,配置类然后来代替,谁来代替啊,然后来代替。来代替咱们spring的配置文件,Spring的配置文件好,这个大家看好啊,然后下面咱们的第二个方法,这个方法是用来干嘛的,然后来设置一个配置类,然后来代替谁,然后来代替咱们spring mvc的配置文件,配置文件好,然后第三个方法大家看,你看这个方法名叫get solve that mapping。Solve that就是solve let mapping solve let映射对吧?然后这东西是干啥的呢?大家注意啊,你看这方法名里面,咱们当前这个web in所继承的这个类里面是不是有一个dispats of that对不对?所以说在我们当前咱们的这一个类中啊,它就自动来配置了咱们的dispats of that。
08:08
但是大家都知道,那dispatch of它得干嘛呀?咱们在配置的时候,是不是需要来设置它的一个URL pattern,因为我们现在咱们配置的方式都是一样的,所以呢,咱们可以通过这个类来注册咱们的前端控制器,但是呢,它一定不会帮助你去设置它的URL pattern,所以说我们现在咱们的这个方法就是干什么的呀,大家看好啊,然后来设置,然后咱们是MVC的前端控制器,前端控制器dispa of that。Dispatch of letter的什么URL杠,Paint其实就是它的一个啊,需要处理的一个请求路径,知道吧,这样的啊,好,那这里面是咱们的这三个方法,那所以说我们是不是就可以干嘛呀,在这把我们当前spring的配置类创建出来,还有把咱们spring VC的配置类创建出来,对吧?好,咱们先创建第一个叫什么,大家看啊,然后它叫做,比如说咱们去叫做。
09:13
这个。啊,SPG叫spring fh叫spring conf OK吧,行,然后我们再来创建一个咱们当前spring VC的一个配置类,这个咱们叫做web comf,叫做web comf,因为它是来配置咱们web相关的一些内容的,对不对?那所以说我们就可以干什么,大家注意,咱们就可以在这个地方啊,然后把我们当前spring的配置类,然后给它设置出来就行,因为它需要来返回的是一个class类型的数组,那大家直接把咱们spring的配置类,它所对应的class对象,然后放在咱们的数组中就行,比如说这叫做spring con.class这就完事了。OK吧,好,那所以说大家想想,咱们当前spring的配置类是不是可以有多个,我spring VC的配置类是不是也可以有多个,对不对?当然咱们现在咱们的项目呢比较小,其中呢也没有什么内容,所以说等到以后呢,大家注意咱们spring的配置文件确实会有多个,比如说咱们如果把所有的内容都配置在一个配置文件中。
10:21
那这个配置文件呢,里面的东西就会非常多,这个时候呢,我们一般情况下都会按照它的功能,然后把它给放在不同的配置文件中,就比如说。咱们以后咱们spring的一些什么扫描组件,或者说是配置一些普通的组件,然后咱们来管理RA,咱们的spring的去整合MYB对不对,像这些咱们都会把它配置为单独的一个配置文件啊,当然呢,在这呢,配置类大家看咱们是不是也可以通过多个配置类去配置好。然后这个地方咱们是需要来设置咱们spring VC的配置文件,跟上面设置一样的啊,然后在这直接一个web com.class。
11:02
好,然后再往下,那这个地方大家都知道怎么写吧,因为咱们需要来设置的是dispatch of的URL pattern,而我们当前咱们的URL pattern也是可以设置多个,那所以我们在这直接来设置一个大括号,然后里面来写个斜线,大家注意,这就是我们当前为dispatch solve的URL pattern来设置的一个值。斜线就可以了。行,OK,那我们现在这是咱们的web点叉L,但是呢,大家有没有发现一个问题,那我们之前咱们在web.L中你都配置了什么?既然我们当前咱们的这个类它是用来代替咱们的web点叉L的,那所以我们之前咱们在web点叉L中所配置的内容,那我们现在咱们在这个类中是不是也可以配置呀?对吧,这是配置spring的配置类,这是配置spring VC的配置类,然后这个是来配置咱们的前端控制器的URL patternent的,那大家想一下,咱们之前在外部的XL中,我们是不是还配置过什么叫做过滤器,对不对,那这个地方咱们该如何去配置这个过滤器啊?好,大家看咱们直接来找到咱们的CTRL加o ctrl加O来找到我们当前咱们可以重写的方法,然后大家呢,去找一下就行啊,比如说然后咱们来往上看啊。
12:24
来。大家注意,你看咱们在这个地方是不是有一个叫什么呀。啊,在这儿有一个叫做get of filters。干什么的来获取我们当前so的一个过滤器的,然后这个方法的返回值是一个什么,是一个过滤器数组,能看懂吧,好然后所以大家看这个方法就可以来设置什么来设置,然后咱们当前的过滤器,OK,它就可以来设置当前的过滤器,好那所以我们现在咱们是不是就可以你看它的返回值是个过滤器数组,那咱们只要把咱们的过滤器创建出来,放在数组中返回就行,知道吧,好,那咱们在这咱们先来创建第一个叫做创建编码过滤器,OK,好叫什么。
13:13
叫record including future record future等于new,一个record including future完事,然后咱们通过record including filter,然后来为我们当前咱们的属性赋值,咱们需要来赋值的就俩嘛,一个是咱们的including,然后是UTF杠八。对吧?然后还有一个是我们当前咱们的set force incoding,然后来设置我们当前咱们的一个布尔类型的一个属性,对不对,然后咱们说了啊,你要只设置它,那我们就只会设置请求的编码,如果说大家把这两个都设置上了,那你不单会设置请求的编码,也会来设置响应的编码啊好,然后再往下咱们的第二个过滤器叫做创建来处理请求方式的过滤器,对吧?好,然后怎么写呢?叫hidden hiddenen http method filter,大家千万不要选错包了,你看这里面这俩都有,咱们用的是哪个,用上面这个啊,啊,然后叫hidden http method future,等于new一个hidden http method future。
14:22
那大家说这个过滤器中,咱们是不是不需要去设置一些其他的内容,对不对,所以说咱们在这呢,然后直接去干什么,利用一个filter数组,然后大括号把char record coding filter放进来,然后把咱们的hidden http method filter放进来就可以啊,行,这个答案注意。好,那这个就是我们所创建的一个web in,它是用来代替谁的,大家注意啊,咱们当前的这个类用来代替,用来代替咱们的web点叉M的,OK吧,用来代替web点叉ML的啊,行,OK,那下面呢,我们再来配置咱们的web com。
15:04
因为我们当前咱们的spring com呢,大家注意,然后我们还没有讲spring跟spring VC的整合,所以说咱们这个咱们就先不配置,当然呢,其实它俩有啥不一样的呢,大家说啊,咱们spring VC的配置文件它不用的,就跟咱们spring的配置文件是一样的吗?那所以这个你会配了,等到以后咱们SSM整合完之后。对吧,然后大家就可以干嘛呢,按照我们配置的web com去配置咱们的spring就行,知道吧,好啊。
我来说两句