00:00
下面我们继续来学习此任务框架,刚才呢,我们讲到了病的生命周期,那我们下面继续往下学习,咱们下面要讲什么呢?给各位说一下,我们下面来讲一下,并管理中基于差方式做,这个叫自动。装配的这么一个配置,再来讲这个叉L方式的自动装配,那什么叫自动装配,给各位先解释一下。什么是自动装配?给各位说明,大家注意啊,咱们刚才包括之前写代码中,我们像一个类中可以注入它的属性,而做法就是咱们在配置文件中通过pretty标签里边的内幕属性,包括Y6属性值,像里边是不是设置这个值,这种方式叫做手动装配,就是咱们手动设置哪个属名称中有什么值,包括这个值,咱可以设置普通类型,包括一个设置对象类型,就是咱之前讲那个外部B都可以做到,这种方式叫手动装配,就是通过Y6属性,还有这个ref属性指定你的属性值手动装配。那什么叫自动装配呢?说的通俗点,咱们现在不需要写这行配置,咱们可以怎么做,根据你这个属性类型或者说属性名称,此文里边会耽误咱们自动完成。
01:31
使用值的注入,而不需要我们指定为哪个名称做这个值的这么一个过程,就是你不需要写这配置可以做到这个叫自动装配,那给各位写一下。这么一个基本概念,就是我们现在可以说根据你指定的。这么一种。装配的。规则,这规则可以根据你的属性名称,或者说你的属性类型,这叫丙规则,然后这规则中呢,咱们不需要明确指定你是哪个名称或者哪个类型,在此轮里边它会给我们自动。
02:12
将你这个匹配的这个属性值进行这么一个注入,这个过程就叫做自动装配,比如咱们不需要写那个party标签,能根据你的名称或者类型把这值给它注进去,这个啊是我们要做的这么一个东西,各位知道什么叫自动装配,就是简化我们的写法,然后这怎么做,给各位来演示一下,咱就演示自动。装配的这么一个过程,刚才提到在自动装配中呢,它主要两种方式,一种是根据你的属性名称进行装配,另外根据属性类型进行装配,所以后把这两种方式给各位都来做一个详细演示,那咱们看怎么来做。我在这里边写一下,这头先关掉,比如现在呢,在里边呢,我就先创建一个包,这个包比如起名字就要这个凹凸Y,就是自动装配啊,咱写下啊,给它起个名字叫这个。
03:14
凹凸。外,然后在里边呢,比如现在我就写上两个类,就是咱之前举的例子,部门跟员工例子,用它咱们把效果做到,比如第一个我来一个叫。DP代表一个员工,然后我再写一个叫DPP代表咱一个部门。写两是一类,然后咱们把里边那个就是对应的to缀生成,或者一会儿看效果更加清楚,包括因为咱们现在有这关系,一个部门里边有很多员工,一个员工是不是属于某一个部门,只有在员工里写上那个部门的这么一个对象,这行属性,并且生成它的set方法,以及它里边那个。
04:02
突此人方法,为了咱一会儿测试更加方便,所以现在我加了两个类,一个是ERP,一个dept,然后现在讲究个效果,在ERP中把第P的对象注进来,就来做这个过程,那这里边为了明显也咱们也写一个测试方法,或者一会儿能测试。我来一个。太。在T中我就把这个。就是这个DPT给他做一个输出啊,咱直接给他输出一下,就一会儿看这效果就可以了。这个啊,是我们要做的这么一个事情啊,然后这个做到之后呢,咱们下面来完成这么一个注入关系,那这注入关系首先我现在在里边也是建个配置文件,比如说我们叫B5配置文件,然后在配置文件中怎么做,因为我现在是两个类,所以咱需要把这个两个类的对象都进行创建啊,咱先做一个创建。
05:01
创建对象,那怎么创建?很简单,第一个就是EP加上这个ERP这么一个路径。奥特曼点。ET,然后咱们再把这个DPT这个对象做创建,这里边叫DPT,然后这个类的名字叫EPT,现在是不是创建了,创建之后我现在在youngp中把de PT注进来,我们来一个pro,然后加一个叫做ref,加上DPT。给大家看,现在注入是完成了,比如咱们之前的讲过这个写法,通过S的方法注入,在里边有一个叫外部B是不是可以做到,然后做到之后我现在在这个测试的类中,咱们写一个测试方法,把这个我们给他做个测试,就这写的是一个。原始方式,比如叫这个。
06:00
TEST4里边是B5点叉L,然后这个名字应该是我们那个EP。我把这个写过来emp,然后把它这个依赖引入,最后咱就把这个emp,然后就直接自我输出,然后咱们看一下里边的效果。大家看啊,现在我这里边一输出,我们看到。在输入里边有epp中是不是有dept,因为咱们生用它的突词缀。这对象是不是输出了啊,当然里边你可以注入属性看的更明显,但是现在效果已经有了,所以这是我们的普通方式,这种方式叫什么?它叫做手动装配,就你指定哪个属性注入哪个值,咱现在注入是一个外部币,但是现在咱通过自动装配,它里面怎么做呢?我们就可以不需要写这行配置,通过自动装配把它做到,那怎么做给大家写下啊,这一行我先注掉。
07:04
然后在里边给各位加上。这么一个注释。来实现自动。装配。然后怎么做呢?在我们的bin标签中啊,有个属性,这个属性叫凹凸Y,注意啊,这里写一下bin。标签中属性奥尔,咱通过它又能配置你的自动装配,而凹二属性里边,它里边有很多值,比较常用的有这么两个值。注意是两个值,然后再看两值,第一个值叫做by name,第二个叫by type by name就是根据名称。进行注入,就跟你的属性的名称注入,还有一个叫摆type,根据这个属性的类型进行注入,所以它里边有这么两只,一个叫by type,一个叫by name,根据这个注入,那比如说现在我们先演示这个叫by name name什么意思,根据名称主就是现在我使名字叫DPT,根据名字找到,但是这里边有前提条件,你现在写的话,你BID的名字跟你属性名字要一样,如果你不一样,它就找不到,不能做注入。
08:25
啊,所以里边有个特点,我写一下啊。这个特点就是你这个。定的。就是你要注入的那个值B的。ID的那个。值。和你这个类里边属性的名称要一样,就是刚才我说到的,你这个叫DPT,咱属名字也叫DPT,这样的话就能完成里边这种就是自动装配,根据名称做这么一个注入,各位把这个知道我在里边写下第一个根据那个属性的。
09:05
名称做一个自动注入,或者说自动装配,里边就是这么来做。那咱把这个就写出来了,然后洗完之后,咱们把效果我们来试一下,看一下有什么效果。咱来测试啊。我来到这个方法中,然后咱们把它执行,大家看一下。你看。最终是不是输出了证明咱这尺没有问题啊,它可以做到这个效果,这个叫做根据名称做一个这么一个自动装配,然后他还可以根据类型装配,那怎么做里边改个值叫这个百。Type根据类型,什么叫类型呢?各位看啊,我这个属性的类型是不是DP对象,所以大家根据类型找到它的对象,把这注入,这叫根据类型定注入。这个给各位写一下,第一个根据属性名称进行这个自动注入,然后第二个根据你的属性类型进行自动注入,它的写法就加一个角摆type,把这个做到这个啊是我们写的这么一个特点,然后咱们把这改分100TYPE,把这个方法也是执行一下,咱看一下效果,看它是什么样的。
10:22
然后各位看效果是不一样的,所以这个都可以做到,我们这个最终的这个功能啊,这叫自动装配,但是这个里边我强调你根据名称无所谓,他没有这个问题,大家说你根据类型时有个问题,什么问题呢?大家注意啊,比如我现在啊,我把这个第1P对象再创建一个,并且改个名字,我叫DPD1。大家看这是报错了,报什么错呢?他就因为我根据类型做匹配,但是我现在这个类型是不是有两个B啊,他就不知道要用到哪个B,就无法去确定用哪个B进行注入,所以这么写就不对了,而这样的话,你只能根据什么你这个by name。
11:06
这个注入by name就没有错了,但是如果你写by type,那你相同类型的B不能定义多个,如果定义多个的话,它就找不到,这里边会报错。啊,所以这个各位给头特别注意一下,所以咱们现在就把这个完成了,这个叫基于差方式做这个自动装配,咱们可以根据属性名称或者属性类型进行装配,里边写法就是在这里边有个属性叫owa by name,根据名称by type,根据类型这个啊我们就完成了。但是我强调啊,就是这种方式啊,基于叉买lo做这种装配,在实际中啊,用的几率很小,咱一般实际中为了方便都直接用注解方式做到,这注解方式咱们一会儿会讲到,因为咱们现在这个内容中讲的都是基于配置文件做到,所以各位先知道配置文件也能做到自动装配,当然一般在实际中咱就用注解做到,注解怎么做,一会咱会演示出来,各位先知道这个特点啊,所以咱把这个基于叉L方式做自动装配这个效果我们就完成了这么一个演示。
我来说两句