00:00
下面我们继续来学习任务框架,刚才呢,我们完成了基于注解方式实现对象的创建,那我们下面继续来往下讲,咱下面要讲的是也是基于注解方式,大家要实现什么?就是属性的注入,因为刚才只是对象创建,下面咱们看注解方式怎么做这个属性的注入。那这过程中呢,首先给大家也是先说一下,在我们做这个属性注中,词分里边提供了哪些注解,把注解给各位先列出来,然后咱们一会儿详细做演示,我这里写一下,首先你要做属性注入,在里边有第一个注解,这注解它就叫做凹凸Y。我写一下啊,O fair word,这是里边的第一个注解,我先写,然后都演示,另外还有第二个注解,这注解叫做call fair。
01:01
这是第二个注解。然后除了它之外,在里边还有第三个注解,第三个注解它叫做resource,给各位写一下啊,Resource。这是我们注解方式,注入属性三个最常用的注解,这各位先给就知道,然后这三个分别都是什么意思,给各位先做一个简单介绍,然后咱们用代码做个演示,首先大家看第一个注解,这个叫做凹凸Y,但是这个词。凹凸什么意思?是不是有自动的意思,而这注解什么意思呢?它就表示根据你的类型进行这么一个注入,包括咱之前用配置文件中有一个叫by type by name,不知各位是否记得by type是根据类型注入,而它就是根据你的这个属性类型进行注入。
02:01
我写一下啊,它就表示根据属性类型进行叫自动的这个。装配或者自动注入,这是第一个auto fair,然后第二个叫college fair,这是什么意思呢?它叫做根据属性的名称进行这么一个注入。然后第三个叫resource,我强调啊,Resource它可以根据类型注入,也可以根据你的名称注入,这是里边的三个比较常见的注解,各位给他知道,然后下面给大家继续来演示一下他们的效果到底是怎么样的。那我们来做个说明,但我强调啊,这三个注解呢,其实他们针对的都是我们这种对象类型,就是不是普通类型的这注入,另外里边还一个东西是根据普通类型给咱一会儿说,最后来说还有一个叫value。比如你注一个字符串,注什么类型啊,这是也是一个注解,就是注入普通类型属性,那我们先演示上面三个,因为这三个最常见,它们都是针对一种,比如说对象类型这种注入,比如你注do啊,用它可以做到,那咱们先把这三个重点演示一下,咱们来看一下啊,还到我们这里边。
03:22
各位看啊,比如现在呢,我想就做这个效果,在service里边注入我们的do对象,那我在do中,咱把这个对象我们也做创建,那里边呢,首先我先建个interface,我就叫user。Do,然后在interface里边加上一个方法public,比如叫这个。A的啊,这是u Du,然后有Du就有它对应的实现类。咱让实现类实现这个user do的这么一个接口,然后在里边实现它那个方法,就这个A的方法,在A的方法中我们做过输出啊,比如叫doa的。
04:08
所以这样的话,咱现在把这个就突出来了,而创建之后,我现在想做件事情,在service里边去调用Du中的方法,然后把这个过程我们给它做到,那怎么做给各位写一下啊,按照咱们之前方式,咱之前在配重件中应该写这个过程,其实它就表示一种一个外部B的方式,再加上b ID class,然后用pro做这种注入关系嘛,把这做到,但是现在这过程咱要用注解方式做到,那怎么做给各位来写一下啊。我这里把步骤写到详细点啊。首先我们做法中的。第一步啊,就是咱们用O2演示啊,当然后面些步骤跟它差不多,首先第一步怎么做呢?咱需要把我们这个。Service和Du它们的对象都进行创建,也就是在这两类上边都添加上我们的注解啊,就是在service和do的类上边添加创建对象的注解,这是里边的第一步,那这步我们写一下啊,里边咱就加上了,然后在Du里边也加,那里边为了区分,比如说我换一个注解啊,我用这个用别的也可以,咱都演示过,然后在Du上边,注意Du里边的肯定不是加在interface上,加到你的这个类上边,在类上边我们也加个注解,叫这个reply,所以这样的话,咱们现在把两个类的对象都创建了,用注解方式实现,这是我们的第一步。
05:45
然后做到之后我们做第二步,第二步怎么做呢?因为咱们在service里边。是不是要注入?Du的对象,所以咱们要做这个步骤,那怎么做写一下啊,因为他现在用的肯定还是那种S的方式注入,所以咱在S里边先定义你这个Du类型的属性。
06:08
咱们写一下private user。Du啊,然后我们调这个U色Du,因为它是接口实验内啊,咱通过接口等于new,它实验的对象就是那种多态形式嘛,所以把这个给它进行来,这表示定义属性,然后定义属性之后怎么做呢?在这个属性上边,咱可以加上我们刚才说那个注解,就这个o to啊,就这么来做,然后写一下啊。在service里边入do,然后咱们在service的类里边先添加上do类型的属性,在这个属性上边就使用我们这个注解就可以做到,但是我强调啊,在这里边咱们现在不需要加那个塞的方法。注意,不需要。添加set方法,因为这个过程在里边已经帮我们封装了,咱不需要加个set方法,直接几个属性可以了,在属性上边咱就是添加。
07:12
注入属性的这么一个注解可以了,那要加一下啊,第一个注解就是咱说这个叫o to y,这样的话,把这个我们就写出来了,它就是这么来做。我把这个代码给各位拿过来啊,然后这个做完之后,比如咱为了能看到效果,我在里边调用Du中的A的方法,把效果应该能做个输出,这是我们写的第二部分,在threat里边注入do对象,咱们先定义do这个类型的一个属性,然后定义之后再上面加上凹凸二,完成这么一个注入。主要就是里边的这个过程。给各位啊,特别标注一下,所以咱们现在把这个我们就做到了啊,就这么一个结构。
08:00
所以各位把这个能给他弄出来啊,然后这个做到之后呢,咱最后把这效果我们就来测试一下,看我们这么做之后,斯瑞里边能不能根据这个凹凸二这个注解完成这么一个注入,刚才咱们提到凹凸二表示根据类型进行注入。啊,就是根据类型进行注入,因为我现在类型是UC Du,它根据UC Du找到它这个对象,就把这个给他,然后因为这是它的时间内嘛,然后把它换成一个注入。这个啊,咱就做到了,做到之后把代码我们最终做个测试,看一下最终的这么一个效果什么样的。来测试啊,就是我们的这个代码。那咱们来执行。然后大家看啊,在里边service和Du中的方法的内容,咱是不是都输出了,这是service a。就是他。然后这是第一位的是不是也输出了,所以证明咱这个过程就完成了,就是根据这个类型就注入用的是o to y。
09:08
所以各位啊,把这个注解给他记住,这代我们实际中用的应该是最多的,因为它最方便直接根据类型完成这么一个进行注入,就是自动装配啊这么一个过程。这是第一个注解,咱们就做这件事,然后除了第一个之外呢,在里边呢,还有第二个注解。这个注解它叫什么?叫做Cali fair这个注解,那我给大家说明一下啊,我这里强调就是现在这个callli fair的一个注解。这个注解的使用。啊,注解的这么一个使用,它要和咱们上面那个out to wear在一起进行使用,就是两个药一起进行使用。他们要一起使用,而这个注解是什么,根据你的名称进行注入啊,这是它一个特点,那这个什么意思,给各位咱们来演示一下。
10:06
关于这个call fire的这么一个效果啊,看它是什么样的。那刚才我提到凹凸二呢,是根据类型注入,但是这是根据名称进行注入,并且它要和这个凹凸二一起来使用。啊,那我们来看一下啊,就是现在怎么做,你在这个auto下面呢,再加这个注解,这个叫call fair。然后在college fair中呢,咱们给它加上里边有一个属性叫value,里边加上你注那个名字。然后强调啊,这什么意思啊,因为咱们之前在用配置文件中提到过,如果说你根据类型进注入,那我这里边我一个接口是不是可以有多个实验类啊,如果说你有多个实验类,那这个时候我这里边根据类型注入,它没法注入,它不知道要找哪个实验类,但我现在根据名称可以注入,因为名称能确定你到底找的是哪一个时间类。
11:05
我说各位是否能理解啊,一个接口是不是有多个实验类啊,那我现在根据类型注入,比如说U侧Du,假如我有一个U侧Du pl1MPL2有两实验类,但是现在根据类型注入,到底找哪一个他没法找,他不知道,而我现在根据名称进行注入,我可以具体指定是哪个名称,那现在我刚才说到这里边的名称就是你可以不写,不写的话默认就是你的首字母小写,那现在为了明写,我把名称啊,咱给他特别换一个名称啊,比如我叫这个。UDOL1。大家看是不是这个名称,然后我现在怎么做,在这里边把这名称拿过来,它就表示根据名称进行注入,就具体找到用的是哪个对象。里边这个特点,所以各位知道啊凹根据类型注入,但类型的话,如果你有多个这个接口的实验类对象,他肯定没法找,不知道找哪个,这个时候咱根据名称,名称可以具体指定你用的是哪一个这个对象。
12:07
这样的话他就写了,因为我叫右侧do p。然后咱把它执行。看一下效果啊。我们看。是不是可以正常输出,可以证明我们是根据名称注入,比如说现在为了明显,我把名称换一下啊,你看啊,这叫user Du PL,这叫MPL,一两个名称是不一样的,然后现在我把这个再做个执行,咱看目前的效果。大家看。是不是就报错了,然报什么错,就说你这个找不到嘛,啊没有这个B的定义嘛,因为你两个名字不一样了,就验证出,但是根据名称做这么一个注重,所以这个啊是我们提到这个call fire的。这么一个注解。我把这个给各位分过来,然后加个注释啊。
13:00
根据你的这个名称。进行注入。它里边是。这么一个特点啊,根据。名称注入。所以各位把这两个注解给他要牢牢掌握,第一个叫凹to外,第二个叫college fair,凹二根据类型注入,Call范根据名词注入,但是college fair要跟这个奥FAIR1起来使用,怎么用我刚才都演示到了。这个啊,我们就完成了。
我来说两句