00:00
好,那我们刚才呢,咱们是讲了获取病的三种方式,那下面呢,那我们来讲一下咱们的依赖注入啊,什么叫做依赖注入,大家还记得不叫做Di。叫做dependency injection,对吧,叫做依赖注入,什么是依赖注入?依赖注入是IOC的一种具体的实现方式,IOC是从咱们当前资源获取的角度来说,对吧?我们原来需要主动获取,现在是被动接受,然后我们现在呢,咱们的IOCIOC它的一个重要实现,具体的实现呢,叫做Di,叫依赖注入,其实就是干什么的。然后我们当前呢,咱们从我们的代码的角度去说,然后我们当前咱们原来创建需要获取使用对象的时候,咱们直接溜,而现在呢,我们不需要,咱们只需要呢,把我们所依赖的对象,然后干什么呢?给它设置相对应的方法,比如说set的方法也行,有参构造也行,然后呢,以我们当前设置好的方方法,然后来接受我们spring为我们所注入的这个对象,其实说白了就是说什么,比如说咱们当前的student里面有ID name age,还有sex,对不对,有这几个,那我们就说student它是依赖于ID属性,内幕属性,A级属性,Sex的好,那所以我们现在既然这个对象它依赖于这些属性,那我们就可以在IOC容器中为它所依赖的属性来进行赋值。
01:33
所以说啊,什么叫依赖注入,就是为我们当前这个类中的属性进行赋值的一个过程,就叫做依赖注入,非常简单,好,下面呢,我们就看一下呗,比如说大家来看一下,在这呢,咱们再配置一个student to。能看懂吧,然后那我们当前是不是就可以来为我们student里面的各个属性赋值了,怎么赋值看好大家注意,在这呢,咱们给大家讲两种方式,一种方式叫做set注入,一种叫做构造器注入,也就是说通过set方法,然后来为当前的属性扶持好property里面大家看一下,你看咱们是不是可以去选择某个属性啊,大家注意,我说了,它叫属性,它不叫成员变量,它叫属性,为什么叫属性?
02:22
你看啊,我把sid选出来之后,然后我们鼠标放上去,大家看一下,你看上面写的是啥,是public void set sid。能看懂吧,这就是我们前两天跟大家说的属性的问题,什么叫做属性对吧?找到我们当前这个类中的set跟get方法,然后把方法名里面的get跟set去掉,剩余部分的首字母变为小写的过程,小写的结果就是属性,所以说咱们在spring里面,咱们的set注入,我们是不是也可以看出来,这里面的属性它其实指的就是谁,指的就是我们当前的get跟set方法,那因为我们现在是要为属性赋值,所以说他找的是什么方法,Set方法?
03:09
所以大家一定要注意啊,啥是属性好再往下,那咱们可以通过什么呢?这两个属性来为它赋值,就比如说ref是引用value呢,就是给它赋一个普通的值,那我们现在呢,比如说因为它是因为sid是ineg类型。咱们只需要通过value就可以啊。好,然后在这咱们写个1001OK,然后下面我们可以继续为其他属性扶持,叫做S内,然后Y6,咱们写个张三OK,再往下呢,然后property是A级年龄value,咱们给他一个23,然后再往下gender,然后在这给他一个value,等于难OK,这样就可以啊大家注意,这就是我们的依赖注入中的第一种方式叫什么?叫做set注入,其实就是通过我们当前为属性为成员变量提前设置好的一些方式,对吧?然后通过这些方式,比如说set呀,比如说咱们的构造器啊,对不对,通过这种方式来为成员变量赋值的一个过程,知道吧,这样的啊好,那下面呢,我们把这个写完之后,我们就可以来进行一个测试了,对吧,比如说然后咱们把这个这疙瘩呀,给它复制一下,然后放在这,这个我们是来测试什么的,来测试Di的依赖注入。
04:32
库的啊,其实我们下面大部分的内容啊,对吧,然后下面咱们有好好几个实验,大家看一下,其实都是这个,呃,测试咱们当前的一个依赖注入的知道吧,好啊行,然后那我们现在咱们来获取病,那你怎么来获取病呢?咱们获取病的方式一共有三种,但是大家会发现我们现在咱们这里面根据类型肯定不行吧,你根据ID的话可以,但是根据ID它是不是需要来进行强转,所以在这咱们可以通过ID和类型来获取,但是咱们也说了,以后其实我们用的最多的方式就是谁啊,根据类型来获取啊,所以说这是ioc.get b。
05:14
然后里面咱们写个student t two,然后再往下,然后在这咱们再来写一个点class就可以啊好,这个时候咱们就可以获取一个student对象,咱们直接把它给输出,大家看我们当前student里面的各个属性,看它有没有值啊来我们现在一个执行。好,大家看一下有没有1001张三23,还有一个难没问题吧,大家注意,这就是我们当前的set注入,非常的简单,那这个呢,也是以后我们用的比较多的方式,大家注意啊,叫做set注入,好然后大家来看一下咱们用到的标签叫做property property标签本来就是干嘛,本来就是属性的意思,对不对,咱们在这给大家写一下啊,然后咱们的property标签,然后这个东西是干什么的,它是通过。
06:11
好,然后它是通过咱们成员变量,成员变量的什么set的方法,然后来进行赋值啊,进行赋值,这个大家注意啊,进行赋值。好,通过咱们成员变量的set的方法,然后来进行复制好,然后再往下,然后咱们这里面的内幕属性干什么的,大家说是不是需要,是不是来设置咱们需要赋值的成员变量的名字,或者说这应该叫做属性名,因为它对应的是什么,对应的是set的方法,或者说咱们啊这个通过成啊,这个没问题啊,好,这个大家注意设置咱们需要赋值的这个属性名,什么叫属性名,大家看好在这给大家写一下,它跟咱们的S的方法有关,知道不跟咱们的成员变量没有多大关系啊好再往下,然后在这呢,有一个value,这个VALUE6是干什么的,大家注意来设置为属性,所负的值设置为属性,然后所。
07:14
啊,负的值。啊,所负的值OK啊行,那这个是我们当前咱们的set注入非常的简单,大家看一下啊,咱们的笔记里面给大家写的有对吧,然后呢,通过property标签,那也就是说以后大家如果你在咱们的IOC容器这个配置文件中,IOC容器所对应的配置文件中,你只要看到bin标签里面的property那。他用的就是什么?它用到的就是咱们当前的这个set注入,知道吧,用的就是我们当前的set注入,也就是说通过set方法来为当前的成员变量进行复制,而咱们的name里面来写的是属性名,记好这个属性名,它跟咱们的set跟get有关,跟成员变量是没有任何关系的,知道吧,然后VALUE6呢,就是我们为当前这个属性所负的值,OK啊好,这是咱们的set注入。
我来说两句