00:00
刚才我们讲到了注入属性中的外部频,就是咱们用这个例子wi里边注入do对象完成一个调用,那我们下面继续给大家演示,咱下面要演示是里面这个叫内部币,还有一个叫集联赋值,那这部分什么意思给各位来解释一下,咱们一会儿通过一个具体例子来说明,这里我强调,因为咱们之前应该是讲过的,或者各位应该都知道我们这个税库。标与表之间是不是有不同的关系啊,有什么关系?各位知道的,比如说有这个一对多,一对一,或者说多对多,这些是不是叫表与表之间的关系,所以咱们现在做这个内部B和接连赋值就跟这个相关,那我现在咱通过一个具体例子来演这个效果,比如现在我就举一个很常见的。一对多的,这没有关系。用它来说明我们的内部B还有接连赋值那一对多的关系呢,可以说有很多很多,咱找一个最常见的什么关系呢?各位也可以想一下,比如说一个最常见的部门跟员工。
01:14
是不是一个典型的一多的关系,就是在这过程中,你要知道一个部门里边他可以有多个员工,而一个员工他属于我们的某一个部门,这关系是一个典型的一的关系,因为这过程中你要知道部门是一的那一方,员工肯定是多的那一方,这个啊是一个点应关系,所以咱们下面就通过这个例子给大家演示内部B,还有这个递联赋值,你把这个知道一个典型的异租的关系,那现在呢,因为咱们做的不是数据库这个表的这个设计,咱是通过我们的实体类把这做到,所以各位要明确,我们现在呢,要把这关系在实体类中进行表示,也就是说我们在。
02:07
这个实体类之间来表示你的。一对多的这么关系,那各位清楚,一般来讲一个表对一个类嘛,所以咱一会儿写两十一类,一个部门一个员工,然后在11类中表示他们的一桌的关系,那咱们把这个来做一下啊,我在里边给各位来写一下。这个我先去掉,然后现在呢,这里边,比如说我这个位置,我再建个包。这个包我就叫做B啊,专门做咱这操作,然后在B里边呢,我创建两个类,一个叫做就是部门类,一个叫员工类,那比如说我先来一个部门的叫这个。Department就是dept,在部门里边我就加上一个属性private。缀,比如叫这个D。
03:01
Name啊,就是一个部门的名称,然后生成它对应的set方法,这是一个部门的这么一个类。把这个创建。所以各位给他肯定知道啊,一个简单一个类,我把这个先。拿过来咱就创建这么一个类。然后这个创建之后,下面我们在里边再建个员工的这么一个类,员工嘛,一如employ,我们叫ET,然后员工里边我给他就加上,比如加上两个属性,第一个string,我们叫这个E。Name,员工名称,然后第二个private,我们叫这个,比如叫一个真的员工性别。真的生成它的。这个set方法把这个我们做到啊,就这个name。还有一个这个。真的,所以这样的话,咱们把这个员工的这个类也做了创业。
04:04
这个完成了,然后完成之后呢,大家注意目前两个类之间啊,没有关系,我想表示它的关系,那咱表示呢,比如现在一个部门里边是不是可以有多个员工,那咱们怎么表示多个。大家想一下,咱们表示多个是不是可以用一个集合表示,那我一个员工是不是属于某一个部门啊,所以咱们在员工里边表示某一个部门,咱是不是可以用个对象进表示,那我现在在里边表示一下,我就表示。这个员工属于某一个部门,咱们使用一种对象的形式进行表示,那里边写个private叫DPT,然后DPT,这就表示员工所属的部门把它对应的set方法也给他。
05:00
生出来,所以这样的话,咱们现在就完成了这个设计类的编写,主要里边是在这个位置。一个员工要属于某一个部门,所以咱们用一个部门的这么一个对象类型的属性完成这么一个表示。这个啊,各位给他要知道啊。所以咱们把它我们就做到了啊,这是关于十以类表示它的关系,就是咱们现在。员工要表示他所属的部门使用一个对象类型的属性进行这么一个表示,这部分我们就做到了啊,然后做到之后,咱现在是一类完成了,然后完成之后呢,下面咱肯定写配置文件,通过配置文件完成这个内部bin的操作,其实也就是向里边注入它的相管属性啊,把这做到,那咱们来演示一下啊,就是。第三部分咱们。在这个配置文件中进行这么一个,就是相关的这么一个配置。
06:07
这是第三部分,那咱们最后把这个给各位来写一下啊,大概怎么做,然后这个配置呢,因为我们现在用到了里边这个循环操作,咱为了区分我在里边呢,就再重新建这么一个配置文件,这个配置文件我就叫这个B3。然后B3里边完成EP和DPT这个操作,那这操作怎么做,跟刚才的service和do差不多,那我给大家写下啊,咱看它的做法,我们做的就是里边那个内部B的这么一个操作。我加个注释。这个叫。内部B。那怎么做呢?因为现在我是通过这个员工进行操作,所以咱们首先呢,把这个员工的对象做创建,就是ID。
07:00
加个class ID中我们叫dp class里边加上它这个包类固定。B加上一个叫。羊屁,然后加上之后呢,在里边设置它的属性。但是各位注意啊,它属性中大家看有几个属性。有几个,是不是有三个呀,前两个是定位属性,第三个是不是一个对象的一个属性,咱先设置前两个,因为这两个比较简单,那我来设置一下啊,我写个注释。咱们就是。先设置。两个普通的属性,那做法就是加个property。Name中我们加一个e name就是员工的名称,名称我叫。Lucy,这是第一个,然后第二个有一个叫gender,就是员工的性别。性别,比如咱来一个这个。
08:01
女。这样的话把两个属性设置了,然后设置之后呢,它还有第三个。第三个是什么呢?是一个对象类型的属性。把这个咱需要做个设置,那怎么做给大家写一下啊,这过程要小,咱们说那个内部B了,我来一个property里面加个name,但你注意啊,这位置呢,咱并不是写个Y表,因为它是一个对象嘛,那怎么做?第一种方式可以按照咱们刚才那个外部B的方式,你在外边建个对象,用ref给它引入,这么写是可以的,但是现在我们写的是内部的写法,它不用这个属性,那怎么做?给各位写一下啊,它的做法就是呢,你在pro里边呢,把那个EPT的对象给它创建出来,就是里边嵌套一个对象,那我来一个ID。写个class ID中给它起个名字,比如叫DPT。
09:05
然后可里边呢,加上它的这个路径。B,这个叫做。DPT,然后加上之后呢,在这里边把它的属性值咱们做一个设置,就是这个部门的名称。是这下,因为大家知道一个公司里边吧,大家说哪个部门最重要。哪个最重要?我觉得应该是这个部门啊,是这个。安保部啊,就是那个保安部嘛,他肯定是最重要的啊保安部。所以咱们现在这个写法就叫做内部比,大家注意它的特点啊,我在EP里边因为有一个DP这个对象,所以对把这对象呢,在这里边嵌套做定义,当然你可以用这个外部的写法,所以这个写到里边这方式就叫做内部币,咱把它就做了这么一个配置,这就是内部币的写法,在一个币里边可以嵌套在定义,另一个对象在里边可以进行使用。
10:08
这个啊,我们就写出来了,各位只要这种写法啊,但是在实际中呢,很多人还是更喜欢写那个外部B,因为他觉得外部B更加清晰,但用内部B这种效果也可以做到,所以咱们把这个就写出来了,然后洗完之后,咱们最后来做一个测试,看一下这个效果。那这里边还是写一个简单的一个测试方法啊,比如就叫A啊。然后测试方法中,把里边这些值我们做个输出,包括有这个。加一个特殊符号,然后还有一个叫。真的。另外里边还有一个值,这个叫dept,把这个做输出啊,包括dept里边呢,有这个值,然后为了方便,这里边我就把它那个to SP方法给它就生成一下啊,让它能用这个值的输出,所以这样的话,把这个测试方法就写出来了,然后写完之后,最后我们来测试一下,就是来到这里边我们来测试啊。
11:16
这个测试呢啊,我就在这里边写了。咱再加上一个,我们叫这个。B2啊,上面咱这叫B1。然后B2里边用的配置文件是这个叫BIN3,然后它里得到这个对象,肯定是这个EP的这个对象,因为通过它进行操作,给他都改一下啊DP。这是EP,就这个员工。引入依赖,然后咱们通过ERP里边这个方法叫A的方法,看一下最终的结果,大家看啊,如果说结果正确,E name Lucy,真的女d name是不是叫安保部,虽然他们是不同对象,但这值我们应该都通过这种方式做了这么一个设置,或者它的值得注入,这叫内部病,最后把它执行,咱看一下最终的结果。
12:12
啊,咱看它什么样的啊。大家看到啊,Lucy女是不是输出了,然后DPT,咱是把这个整个对象输出,因为对象我加了to瑞,然后里边这个安保部是不是也输出了,所以这就完成了我们说的内部病的凑作,它就是这么一个写法,各位把这个给他知道,这个咱就完成了啊。这是我们说的里面这个特点。所以咱们现在就完成了内部B,还有这个外部bin的操作。然后这个都完成之后呢,咱们最后啊,在里边还有一种说法,它叫什么叫做级联赋值,其实刚才这过程就是一种级联赋值,那这计算赋值还有其他写法给各位我也都写一下啊,你把这个A不B先知道,然后咱们看最后一个内容。
13:04
给各位写一下啊。就是我们的。第四个。注入属性。里边这个叫吉联赋值啊,把这个给各位进一步做一下演示。那咱们最终给到看一下啊,那这个比如说啊,咱们还是用这个例子,就是我想实现在我向EP中赋值的时候,因我把第1PD中的这个第name值也做赋值,其实刚才这效果已经做到了,但是咱现在换一种写法来做这个计联赋值,就是你可以同时向你有关联的这个类的使用中设值,比如我们的员工部门中让他值都做设置,这叫集联赋值,就是向多个是一类中设置它的使用值。那怎么做,给各位写一下啊。比如现在为了区分这个啊,我先给它,呃,咱就再重新写一个吧,啊,就不给它注掉啊,让各位看着更清晰啊,再重新来一个,我教这个B4。
14:07
在这里边咱们专门做这个叫级联赋值的这个操作。把这个做到,那怎么做给各位写一下啊,这个代码不需要变,主要是配置文件中,首先我们说一下它的写法。我说一下啊,首先第一种写法怎么做呢?咱可以通过这个外部变方式做赋值,然后写一下啊,前两属性没什么变化,然后第三个属性。就主要是写它嘛,这个属性,咱们就来一个这个叫。啊,先写个注释啊。及联负值。然后做法就是因为这个属性呢,我们来一个property,它叫de PT。然后在里边,因为你要设置值嘛,那咱把这对象在外边给它创建一下,我加个ID。
15:00
加一个class ID中叫d PT class里边加上咱们这个内容这个润5B,然后叫DPT在里边把它那值。做个注入DNA,然后咱们来一个Y。比如这个值我们是一个叫。财务部,然后这里边加个ref。咱把第1P写过来,这样的话可以做到尽量赋值,这写法咱之前做那个YB中做到过,只是现在我们为了赋值,在你创建P的时候,它会把dept,把这对象给它通过外部bin方式引入,然后把这个d name也会做这个赋值,这个啊是我们写的级联赋值的写法,各位啊,你知道啊,然后这个做完之后,咱们把这代码给它测试一下,看下这个效果。就这代码啊,只是我们叫B4,各位注意在测试过程中,这配置文件别写错啊,就是你是针对不同的配置文件做的不同的配置,然后咱就看效果啊。
16:07
各位看财务部是不是就住进来了,这样的话,这过程我们就完成了啊,这就叫机联复职,这个我们就做到。然后做到之后啊,这里边我们就完成了里边这个基本过程,其实我们刚才的写法中呢,是完成这个接连赋值,这么做是完全可以实现我们的效果的,而这个效果中呢,还有一种写法也能做到,那各位我在进一步演示一下,就是这是里边的第一种写法。这么写完全可以,咱刚才测试到了效果也都完成了,然后另外我们做接单复制中除了这种写法之外,还有一种写法给各位,我下面来演示一下,就是第二种写法,那这个写法怎么做呢?给大家说一下啊,就是首先我们做法中这些不变。
17:02
然后你在里边怎么做呢?还是加上一个叫property,加个name,然后加个value,注意啊,在value中是你要设那个部门,比如说咱们换个部门,我教这个啊,咱们来一个换一个啊。比如写一个什么呢?一个公司应该还有这个叫,比如这个技术部,然后在内中咱加什么注意的写法,我加个DEP,点上d name。那这是什么意思呢?给大家说一下,因为我现在在我的EP中是不是有三个属性e name真的都是字符串,而DPT是不是一个对象,而这对象它里边这个属性名字是不是叫d name,它就表示像DP的对象中设置你的d name的值。这个一种写法,但我写完之后大家发现。这里是报错了,为什么报错了?大家强调啊,因为你现在要向ERP中的DPT对象中设置值,这对象是不是要得到,所以在做法中呢,你在里边需要做件事情。
18:12
生成一下这个depp,它这个对应的什么get方法,Gett方法能设它的值,就是得到它这个那种,如果你不能得到这个对象,那肯定不能往里边设置。所以现在需要把它的get方法生成,然后生成之后大家看这没有错了,然后把这代码我们最后再做一个执行,咱看一下这种效果。大家看技术部是不是输出了,所以这是里边的另外一种写法,通过这种你可以理解为这是一种表达式形式D pt.DMDPT是yep中的属性,D name是DPT中的使用名字,然后通过它也能做到这种叫集点复制操作。这个是第二种写法,但是第二种写法中,咱刚才特别说到了,这里边的你需要做件事情,就是把里边这个。
19:07
DPT的get方法需要给它生出来,如果你不生成,那里边。这个就是最终的对象,取不到它就不能做这赋值啊,这是一个比较特别的地方,所以咱们现在把这效果给各位应该都演出来了,主要就是里边的这些内容。这个啊,我们就做到了,也就是说到这里为止呢,咱就把这个基于叉L方式做B管理,这个操作我们就演示完了,包括用插入方式创建对象,包括注入属性以及注入里边这个就是外部B内部B,包括级联复制这个操作,这些给各位都演出来了,然后各位把我演这些内容,他自己动手去好好去练练,过程并不复杂,值里边需要有些配置,希望各位给头好好去记一记,好好去练练。
20:02
所以这样的话,咱就把这个注入属性,包括内部B外部币接连赋值,我们就点是完成了。
我来说两句