00:00
啊来,我们来把刚才提出的那个问题呢,给大家来解决一下啊呃,什么问题大家还记得吧,记不记得啊,来启动一下是吧,启动一下的话,我们能看到什么呀,就是呃,因为我们现在配置的这个po以及这个SPA r Mac啊两个容器呢,它都进行了一个组件扫描,所以说呢,啊,他帮我们的你看啊,在这个SPA容器中呢,它扫到了这三个组件,在po r VC里面呢,也扫到也扫到了这三个组件,对不对,那么就相当于对于我们这个并对象来讲的话,它是被创建了几次的,诶被创建了两次的啊所说的这个问题我们需要来解决一下啊,怎么解决这个问题啊。好,来听我讲,呃,可能同学想到了,说你可以通过包名来给他们做一个区分,对吧,比如说你看了哈,我把这个呃,Service以及这个什么DAO呢,我以什么呢,不同的命名方式呢,把这个包给它改一下,然后呢,像这个handle德了的话呢,我只要保证它跟上面的这两个包是不一样的,这样的话,你在扫描的时候,对于m Mac来讲,你就去扫这个包下面的,而对于我们这个po来讲的话,你就去扫这个包,以及这个包下面的是不是行了,这种方式可不可以啊,可以啊,我们来可以试一试嘛,你看看哈,呃,那在这个Mac里面的话呢,我就不让你去扫它,我就直接扫到这个SS,点什么handler不就行了吗?
01:32
对吧,那对于呢。对于support他少谁呀,他少这个SS点谁呀,DA还有呢啊,这个地方还能不能写别的呀,爱硅谷价SS掉试一下啊来注意。好,进攻来重新启动。
02:04
解决了吗?里面d service里面含的了,解决了吗?很是,我看好多这个表情,惊讶是不是?但是呢,这种方式这个实用性怎么样了,太不好了,对吧,太不好了,为什么呢?我们先不说这个包多不多。对吧?啊,其实包也挺多的是吧,将来你这个具体的业务里面,这个包确实挺多的,而且将来我们的每个业务啊,就是我们具体的一个项目里面,我们是要分模块去开发的,每个模块里面我们都会有这些东西,都会有DAO都会有service都会有我们的看了将来呢,我们又要把他们整合到一起来去使用,所以说呢,你通过这个包名来去区分的话呢,其实这个实用性不是很好,能理解吧,而且这样的话呢,就相当于你把它什么写死了嘛,是不是相当于把它写死了,所以说呢,我们希望怎么做呢?我们希望哈啊不修改这个扫描的包。
03:17
能明白吧,诶不修改这个扫描的包这个地方呢,也不修改它,那我们可以怎么来实现呢?那么大家注意,我们当初在讲这个组件扫描的时候,是不是说过我们可以去配置指定指定扫描,还有什么排除扫描的吧,对吧?那我就讲对于我的这个spring mvc来讲,我就让他去指定扫描带有ctrler这个类是不是就行了,带有CTRL注解的这一类是是不是就可以了?所以说你看我就来到汉的里面呢,我把这个CTRL这个注解的全类名CTRLC一下,把它拿到我们的这个配置文件中放到这,而对于这个指定扫描来讲,我们是不是加上一个。啊,是不是有一个什么用depot等于什么false吧,对不对,诶这样的话呢,对于我的这个po Mac来讲,它就只会扫描到我们的啊,带有CTRL注解的,那么你看一下带有CTRL注解的是不都是我们的handler啊,而对于我这个来讲的话呢,它其实不仅要去管理你的service d是不是还有别的呀,对吧,那么你就直接排除是不就行了,对吧,他们两个就什么呀,互相嫌弃是不是你扫描呢?我绝对会扫描。
04:31
对吧,那你看C呢,扫的是我们的,来那我的除了之外我都生了,来拍出来排除把这个放到这不就可以了吗?排除掉谁啊,排除掉带有CTRL了这个注解的类,那么这种情况下,我们来看一下能不能实现这个效果啊,来保存一下,好我们等它这个重新启动一下,大家来看这个启动信息啊。OK,我们来看一下,对于我的来讲是不是就是这两个组件了,而对于我的MVC来讲,是不是就是这一个组件了,对吧?那你看一下这种方式好,还是我们刚才改包的这种方式好啊,肯定是这种方式好,那么大家也要学会,以后呢,我们就通过这种方式来做,那么你就时刻记着,因为spring mvc它管的东西比较少,你就让他指定扫描什么,明白了吧,而对于spring那一边呢,就是你pro mvc扫什么我就不扫什么。
05:31
一个是指令,一个是排除啊,这个问题我们就解决了,明白了吗?OK。
我来说两句