00:00
来,我们接着说,呃,那么现在呢,我们已经学会了怎么去配置病啊,就是基于注解的方式来把这个病给它配置出来,那么接下来我们要研究的是,那么你如何基于注解的方式来进行组件之间的一个装配啊,其实我们主要研究的就是那个什么自动装配了,明白吧,好,那么我们先来把这个关系的给大家去捋一下哈,呃,现在我们写的这几个,一个是controltrler,一个是我们的service,一个是我们的DAO,大家知道他们之间的关系吗?什么关系啊,就是CTRL了,调用谁啊?哎,调用service,调用谁呢?调用DAOK,那么我们知道了这种关系,大家就来想,将来在T的里面我是不是得有service的一个对象啊,我在service里面我是得有一个DAO的对象啊,这样我是能调到你的方法吗?对吧,OK,那么现在我们要研究的是如何把service的一个对。
01:00
啊,把DAO这个对象分别给它们注入进去,装备进去,好,我们先把这个关系给它弄出来啊,你看在我的controller里面呢,我就需要定义一个什么呀,Private user,它里面是不得用到一个service啊是不是?哎,那你看那我定义的时候,你是说我写接口类型好呢,还是说我直接写这个实像类型了,你要写实像类型,那么你就没有用上我们接口了,这样的话就是直接耦合起来了,假如说将来你不想使用这个时现类了,这个代码你就得去改,但是如果你使用的是接口类型,因为接口你是不会去变的嘛,对吧,要变也是变它里面的方法,这个接口类型你是不会去变的,所以说将来就算你不使用这个实现类了,你使用别的实现类没关系,对于我这个地方来讲,我是不需要动的,听明白吧,这就是我们解耦就是这么来去做的,好,那我在它里面就是声明了,声明好了以后。
02:00
大家注意,我怎么就能把我的这个user service给人家装配进来呢?注意我们讲的是IOCIOC天生就擅长于做什么呀,资源注入的事吧,对吧?所以说你来分析了哈,USER3CTRL了,UC现在在我的LC里面,User service的时间内,它UC,呃,这个us是不是也在我的C里面,那么我们一开始就说过LC是什么思想来着,你在UC里面只需要说一下我想要谁,我想要us,那么这个需求让loc知道了以后,他是不是主动的把us就给你推送过来了,对不对啊?能明白这个意思吗?OK,那现在我声明了他了,也就意味着我是想用到这个us的哈。那么怎么让LC知道呢?那么你只需要在这个上面加上一个注解,叫做at auto,这就搞定了,LC容器就能主动的把us这个对象给你推送过来了。
03:11
明白了吗?特别简单,同样的道理,你再来看,那对于我的这个USER3SERVICEPORT里面来讲,它里面我将来是不是要用到一个user DA对象了,对不对,同样我也定一接口类型的啊,那么在这个里面的话呢,你也只需要怎么说什么事啊,一个at to的往上一标,它就能把userc DAO当前的实现的对象给你啊注入进来了,所以说我们主要是用了一个auto will这个注解。理解吧,OK,那咱们能验证你有没有装配成功呢?那大家注意了啊,我就来去写个方法,在USER3D里面呢,我先写上一个简单的方法啊,比如叫做a user看到了吧,那么在我的这个实现类里面呢,我就要去写一个什么呀,方法都实现了吧,是不是来我们把这个实现一下啊好,这个里面的话,我就简单的去写,写什么呀,就是Co输出一下,呃,User DAO的一个什么JDBC啊,然后实现,听明白了吗?哎,User DA它里面通过什么,通过这个JDBC做了实现啊好,那么对于我这个user service来讲呢,它里面我也加上个方法哦,叫什么呀,它也是一个word对吧,就是什么,嗯,Service处理吧,他什么呀,处理处理这个a duc啊,就处理添加用户能明白吗?然后呢,三法,这个3S里面我是不是要去写上一个实现类了吧,哎,就是这个方法的一个实现。
04:41
啊,这里面我就什么呀,在这个里面,你看萨拉里面,你除了这个业务的处理之外啊,就是处理业务处理完之后,你最终是不是还得通过user色DAO去调到人家里面的ad user。是不是这样的一个调用流程啊,OK,那我就看一下这个流程能不能调通嘛,好,那么同样道理,对于我的controller来讲,比如说这里面我就做一个什么呀,Public好,我做一个什么添加用户,那就是一个注册操作嘛,好,那我就做一个注册好那么我注册的时候大家注意我就要什调用我的user service,然后呢,让他去做一个什么呀处就是handle处理我的添加这个用户,然后呢,最终呢,从这个里面的话呢,我们看一下,从这里面我又调到了我的DAO里面,那么从DAO里面的话,我们就能输出这样的一句话来,这个流程是不是调通了,对吧?那我现在我只需要拿到我的U3CTRL的对象,我去调用一下,我就是再次方法,只要我能看到DAO里面的这个语句输出出来了,说明什么,说明我整个流程是不是就通了,注入装配,像这个装配是不是也就成功了,对吧?OK,来测试一下,那么回到我们的测试方法中来,现在的话呢,下面这两个注释掉了。
05:57
我们只需要通过UC点调用一下,看结果了没,出来了吗?出来了吧。
06:11
那说明我们刚刚所做的事,这个事儿是没有任何问题的,好说说呢,怎么进行这个组件装配呢?我们就是使用一个at auto的这个主件,OK,那么现在大家来想一下这个auto是什么意思啊,自动装配吧,OK,好,那说到自动装配,你立马就得想到我们刚刚讲的自动装配的模式,什么模式啊,啊,By name by啊,那现在我给大家留一个问题,你说它是通过by name呢,还是通过by tap啊啊,我把这个问题给大家留着,中午感兴趣的同学你自己可以去研究研究,好吧,下午我们来去具体讲解ovi它的一个工作机制,听明白了吗?OK。
07:12
下午我们就先讲到这儿啊。
我来说两句