00:00
各位同学大家好,刚才呢,咱们完成了基于赛的方法进行使用注入,那下面呢,我们演示下一种方式,基于构造器定注入,咱们来快速演示一下,这个过程跟刚才类似,指他是用构造器方式做的,就是咱们刚才写那个原生代码中,咱来看一下啊,然后他怎么做,这里我先写一下。首先啊,这个写的是基于set方法注入的过程。我把这图给大家画的更准确点啊,就是set方法注入的,然后咱们现在再说第二种方式,基于构造器进注入,看这个该怎么去做,我这里边写一下步骤啊,写到这里。首先我们的第一步肯定是创建类定义属性,然后定义属性之后,注意啊,这个时候要生成你这个就是有参数的构造方法。把你有参数构造出来,然后第二部分在里边进行配置。
01:03
这是一个基本的步骤,那咱下面按照步骤把这个效果。给各位做一个具体实现,那咱我们来看一下啊,首先还是来到我的book类中,我book类中呢,有两个属性,Be name,还有author,这个已经写出来了,然后写完之后大家看这行啊,刚才生成的在里边,呃,这个位置在这里。我这里边就生成了一个有参数的构造方法,咱通过它完成这个柱子过程,然后它原生写法就是new对象的时候直接传两个值是不是可以了,但是现在咱把这个过程通过配置进行实现,那我下面给大家在配置文件中我们来写一下第一个赛德注入咱们完成,然后现在我再重新写一个。第二个叫构造器,或者说构造方法注入。咱们看怎么做啊,首先第一部分咱们还是来一个B标签。
02:05
Class。个类ID名字,咱为了区分,我这就叫book,这个contractor就简写了啊,就b book s contract。然后这个之后怎么做呢?在B标签中,各位注意啊,刚才咱用的是不是叫property这个标签,它会去调你的对应的set方法进行注入,但现在我们是构造器,怎么做呢?里面有这个标签叫constructor arg,通过它进行注入,在这里边呢,有这么几个属性,咱看一下啊,一个叫name。还有一个叫Y,就根据名称和值,你可以注入,另外还有一种写法,咱都说一下啊,还有这么来写,有一个叫index,然后有value,根据你的索引来做这个指的操作,那比如咱写第一个name啊,我的第一个name呢叫b name就是图书的名称,就咱们写一个比叫Java开发。
03:13
包括这里边叫索引值,比如你写零代表第一个属性,写一代表第二个属性,咱们推荐还是用名称,因为这个写很容易写乱啊,你要跟你的这个位置顺序保持一致,那你就按照这个名称进行注入了,然后继续给它写完。然后咱们加上一个Y啊,就是它的作者,我们是上归谷。所以大家看啊,现在这段配置就是构造器配置,通过constructor arg,在你创建对象过程中,向两个使用中设置值,它会用到里边那个有参数构造进执行,咱为了明确啊,我这么来做,我在这里边给它做一个输出啊,为了咱一块儿能看到效果,看得更明确。
04:07
写下啊,就是有参数构造。执行了。这是咱们写到的这个过程啊,比如说各位可以明确啊,咱们建个对象默认肯定用的是无参数构造,但是我用有参数构造的对象是不是也能创建啊,所以他现在用的就是有参数构造进行创建,包括在创建过程中向里边设置了它的这个值。这个咱们就完成了啊,这个构造器注入完成之后,我在里边做一个测试。因为测试代码跟这个代码类似,我就把它直接咱就复制了啊,咱就直接看下这个效果,把它改一下。叫test constructor。就是构造。然后在里边,这是我们那个。啊,就是配置文件的名字,另外这个ID名字改一下,咱们叫book con。
05:06
现在就可以了啊,然后现在大家看啊,我把这个执行一下,看看它什么样的效果,因为我有突死坠,最终应该能输出。然后大家看效果啊,这里写到就在这过程中,它里面这个构造肯定是执行了,最终把book它就进行了输出。啊,这是我们看到的啊,呃,当然这过程中演示过程中你发现啊,这个无参是不是也执行了,为什么执行呢?因为这里边有一个特点,我在加载配置文件中,其实他把这个也进行了执行,我先把这注掉啊,就防止总干扰我们总能有同学误会啊,咱们把这先掉,然后我再重新执行一遍。大家看啊,在这过程中,你发现有参构造是不是执行了,证明它是用有参构造建的对象,然后最终输出有咱们这个就是注入的两个值,Java开发上回啊,刚才那个无三构造是因为我的这段配置,它把这个不可创建了,用无三构造创建,我把这助调再测试,这么看更加明确。
06:11
所以以上啊,就是咱们演示的两种注入方式,大家都要给他记住啊,第一种方式基于set方法注入,第二种方式基于有参构造进注入,这个我们就先演示到这里。
我来说两句