00:00
各位同学大家好,刚才呢,咱们完成了IOC里边的原理的讲解,大家知道这张图上的过程,这张图我再重复一遍,然后咱们继续往下来看,首先第一个在配置文件中或者注解里边定义你的B的相关信息,就是我要什么样对象,然后通过b DeFinition reader进行读取加载,它会针对不同方式进行读取,然后在过程中LC容器中有B的定义信息,当然这个信息可以进行修改,然后咱们用b fight对工厂加反射进行实例化,实例化之后进行初始化,最终得到我们最终可用对象,用contact get b能把这个得到,这是刚才说的一个基本过程。然后过程之后,那下面呢,我们继续往下来看,下面呢,有这么一个概念叫依赖注入,那什么是依赖注入,给大家做个说明,我这里边,然后来看一下这课件里边,后面咱都会进行演示。
01:01
我在图里边给大家也是来画一下这过程,它叫依赖注入。然后依赖注入呢,它的英文简称叫Di注意啊,依赖注入是实现了控制反转的这么一种思想啊,就是他思想的一种具体实现,那什么叫依赖注入呢?各位可以简单这么来理解,我们在创建对象过程中,可以将对象的依赖属性通过配置方式进行注入,具体什么意思,给大家特别解释一下啊。比如咱们举个例子。比如说我现在我这个类呢,咱找到啊,之前有一个类,呃,叫这个user,比如说我现在我在user里边呢,假如说我有一个属性private string name,那我现在我想做一个效果,在我创建对象过程中,我想向这个使用中来设置它的值,比如说内幕是Lucy,这个过程我们可以理解为就叫依赖注入。
02:04
当然你的属性类型可以是基本类型,包括字符串等类型,另外可以是一个对象类型,比如说我现在啊,再举个例子,假如我现在我再建个类,这个比如说我叫person。然后我在这个user里边来建一个类的属性。比我这么来创建,那这个类型是不是一个对象类型,咱们把这个对象也能够注入进来,这个过程就叫做依赖注入,或者咱们叫Di,而依赖注入怎么来做?这里写到啊,常见有两种方式,第一种方式用set注入,第二个用构造注入,这咱们一会儿会具体演示,大家知道什么叫依赖注入,指的是此任创建对象过程中,将你的对象依赖属性通过配置方式进行注入。这是我们提到的啊,另外里边还有一个词叫并管理,也是一种比较术语的说法,什么叫并管理呢?
03:07
给大家也是复制过来这里写的啊,就是对象的创建过程,以及属性的注入过程,咱们叫并管理啊,这是一个术语的描述,咱们一会儿呢就会演示啊,基于配置文件方式,还有基于注解方式进行并管理。所以以上就是关于什么是依赖注入,这各位给他药指导一下。然后这个之后我们继续来看啊,刚才我们在说这个过程中提到此分里边呢,进行实例化的时候,用到了一个叫b fight工厂加反射镜实线,那下面呢,咱就说一下这个b fight工厂。咱们看这里写到啊。IOC容器在STEM中怎么实现?它就提供了一个叫b factory这个接口进行实现,而b factory呢,是LC的最基本实现,但是这个接口是死人中内部使用的,它并不面向我们开发人员,而我们用的话就要用到它一个子接口,叫做application contextt。
04:12
而大家看啊,这一张图里边呢,是它一个基本的结构,你看图里边啊。Y是一个,就是顶层接口,下面有一个application contact是咱们目前用的接口,在子接口中有更丰富更强大的功能,那咱把这接口看一下application context。把这个找到。咱们看里边啊,大家看是不是一个接口,然后它继承了各个接口啊,它是B翻出的子接口,然后在这里边有很多实现类,比如说咱们用到了这口。你看啊,就是,呃,找到。这里啊,Pass就是咱们类这个文件,包括有文件系统file system,包括里边有no注解等那种,这就是,然后里边列出就是它一个主要的一个结构啊,大家把这道此里基于B工反射进行对象实例化,然后这几个刚才提到了。
05:14
读取你的类路径下格式的配置文件来创建LC容file system叉读取系统路径中这个文件进行容器创建。还有一个叫conig able,它是里边一个子接口,里边有更强大的功能。另外有一个web,用于web开发中进行使用。所以以上就是关于这个B筛出一个说明,各位知道里面这个关系,它是我们的顶层接口,下面有子接口,在子接口中有更多的方法,然后子接口中有不同的实现类。所以以上啊,就是IOC容器一个总体说明,通过这个说明,大家要理解为什么是容器,IOC容器中到底是做什么的,然后它里面的过程到底是怎么样的,把这个各位要明确。
06:08
然后我把这个图给各位也截到我这个里边来啊,大家知道里面这个关系就是factory OB,包括里边的各个实现类。对这个IOC容器的概念部分,我们就说到这里。
我来说两句