00:00
首先呢,我们还是复习一下上节课的内容,上节课呢讲的是。那我们通过一个思维导图的方式呢,给大家呢,把课程内容呢总结一下。我们要讲的是spring,首先呢,什么是呢,什么是spring,给它做一个总结,什么是spring,那呢,它是一个框架,是一个框架。这个框架呢,它的核心技术。是IOC,它就是a op这两个核心技术,那么用这个spring,它主要目的是干什么呢?它是为了实现解耦合的。实线结耦合让我们类和类之间关系变得松散一些,容易修改。让我们的模块和模块之间联系松散,解绑容易修改,这是它实际上结耦合的,那怎么着呢,它实际上呢,还有另一个名词,它叫做容器,Spring呢,它是一个容器。
01:11
这个容器呢,它存放的是Java对象,容器中它存放的是Java对象,我们把各种对象呢,都放在这个容器之中,那在这个容器中我们能放哪些对象呢?从而加入对象。我们需要是。需要做的是我们要把对象呢放入到容器中啊,由容器呢来管理对象的创建呢,赋值啊等工作呢,也叫容器。容纳的是Java对象,这是spring。它是一个框架,这个框架是个开源的啊,是个开源的框架,我们可以呢,获取这个框架的源代码啊,文档啊等等,从官网上都可以获取到,它这个容器存放的是Java对象。
02:08
你在学齿轮的时候一定牢记呢,它是一个容器,容器里边放的是对象啊,放的对象就是词不润。好。那怎么用这个spring呢?或者说你在用的时候,这个思路是什么样的呢?怎么使用spring。因为spring它是一个容器,那我们的想法就是要把项目中用到的对象放到容器中,把项目中用到的对象放入到容器中。这是我们的想法。你用什么都放到容器里去。从容器中拿对象,这是你的想法,它这个容器把项目中用的对象放到容器中之后,我们要从容器中应该这么说,让我们的容器。
03:09
它来完成呢?对象的创建,对象之间关系的管理。关系的管理,这个管理实际上就是属性赋值啊,就是属性一个赋值。对象创建关系的管理,这让容器呢干这件事情,然后我们在程序中从容器中来获取要使用的对象。这是我们思路。把对象放到容器中。让容器创建它们之后,在代码中我们在获取容器中的对象,那这个问题了,什么样的对象应该放到容器中呢?
04:03
那就说什么样的对象。什么样的对象它应该放入到容器中呢?这有疑问呢?那想我们在项目中会用到哪些常用的一些对象呢?在我们项目开发中,我们可能会用到有DA类,还有呢,做业务的service类。还有做控制器的CTRL类。还有呢,工具类啊,工具类这些对象它都应该放到容器中,让容器呢统一呢去管理这些对象。这些对象在子容器中,它们都是一个单一对象词认中的对象,它默认呢,它都是单立的啊,单立的也就说在容器中呢,叫这个名对象就一个在容器中叫这个名称的对象。
05:15
叫这个名称的对象,它就只有一个是单立的啊,Spring中对象默认都是单立的,那我们把do service controller,还有工具类呢,这些都可以放到容器之中,让容器呢来管理这些对象的创建呢,还有赋值等等。这是应该放到容器中的,哪些对象它不应该放到容器中呢?不放的容器中的对象有哪些呢?那我们再说不放入到死不润容器中的对象有哪些呢?首先第一个实体类,实体类对象它呢不应该放到容器中,因为它这个对象的数据是来自于数据库啊。
06:11
实体类的数据它是来自于数据库的啊,它不需要在这个容器中创建,因为我们在执行查询过程中,这个对象就应该有了,就能创建了,是在我们程序的代码执行过程中来创建的,所以像这样的对象呢,是不需要放到容器中的,你可以放,但是没有意义,你可以放。但是没有意义啊,这是一类,还有哪些对象我们不应该放在容器中呢?那么就是light,还有我们的监听器,还有过滤器等。这些呢?它不应该放在容器中,因为这些对象他们应该是交给Tom k。
07:00
是由这个容器它负责来串这对象的,所以呢,它不应该放到spring容器中啊,要注意这一点,那我们在开发中主要就是说把什么DA啊,Service啊,Controller呀,工具类呀,这些对象放到容器中,那这有一个问题了,如何把对象放到容器中呢?如何把对象放到容器中呢?看大家想想如何把对象放到容器中。啊,那怎么放容器里面去呢?那这里边儿我们就说把对象放到容器中,那第一种方式呢,我们以前学过的,就上节课讲的,那就是使用。SL的配置文件,好,那使用这个bin标签呗,使用这个B通过它来表示命对象吗?除此之外呢,今天还要讲一种方式,那就是注解啊,用注解两种方式呢,我们都能够去创建对象。
08:07
你在配置文件中用了一个B标签,那就表示我们这个对象是交给容器来进行创建的,所以你要想用哪个对象。这个对象要交给斯不,那么你就在配置文件中把这个B标签一声明就行了,那这个对象就是交给容器去创建的,去管理啊啊这是呢,我们给这个索润呢,做个大概的这么一个回顾回顾。第一个核心技术,我们讲的是叫做IOC。往下来我们说它的核心技术,第一个叫IOC。IOCIOC呢,它叫控制反转啊,控制反转虽然说呢,控制反转呢,它是一个理论啊,是一个理论,是一个思想,是一个概念。
09:05
这个概念,这个概念呢,它的作用是指导我们开发人员。好,就是指导。指导我们的开发人员在容器中代码之外来管理对象,给属性赋值管理。一赖就干这件事情呢,就告你怎么应该更好的去创建对象,去管理样的关系,这是IOC控制反转理论。那它的实现呢,我们现在主要用的是IOC的这个技术实现使用的是Di。好,Di它叫做依赖注入,好依赖的注入啊,就是Di,那么依赖注入是说呢,我们的开发人员在项目中,我们说开发人员在项目中,你只需要提供对象的名称。
10:17
那对象的创建查找。还有负值都由容器内部自己实现。为自己呢来实现,这就是IOC啊,它的实现呢是一个叫Di的一种技术。这种就是规定了,我们在用对象的时候呢,执行名称就可以了,其他工作都容自己去完成,这是IOC的一个技术实现,叫Di spring呢它使用的是Di的技术。Di的技术,然后它底层呢。
11:05
底层使用的是反射机制啊,反射机制这是它的实现方式,是一个反射机制啊。由spring所创建的对象,它是放在容器中,那么容器里边用的是一个。Map来存放这个对象的啊,就是IOC控制反转。那之后我们讲的是一个给属性赋值啊,给属性赋值。接下来我们说给属性赋值啊,我们接着还是写在LC的下面这块吧,接着我们说Di这块要给属性赋值了,给属性赋值我们讲了有两大类,第一大类呢,它叫做set注入啊,Set注入它说呢,怎么说是调用类的S方法来实现属性的赋值的。
12:11
就是set注入设置注入啊。好,那这里边,所以设置注入呢,它有两种,第一种是简单类型的set注入。那它的语法方式就是说我们使用。然后name这块呢,是属性名,但实际上这个属性名它应该是set方法。应该是你的赛的方法,是不是后边这部分呢。按照加录命名规范,那你的这一部分就应该是属性名啊,所以这块呢,Name这个显示属性名,然后V流,V流的话呢,是这个属性的值,这是简单类型的,用的是V流。
13:02
然后这还有个结尾啊,那第二个方式引用类型,那引用类型的set注入它使用方式是property,然后name name这块是属性的名字,然后ref,它里边放的是呢,Bin的ID bin的ID就是bin的名称呗,对象的名字,好,这是我们的。设置注入第二个是set方法。那第二种方式呢,就是构造注入。构造注入,构造注入,那就是说主任它调用是有参数的构造方法啊构造方法。高注重呢,它用的一个标签呢,是这个叫pencil a,这个标签比较长,我就考一下啊。
14:01
构造注入。构造。那是这个它是二。好,这个标签。那第一种方式呢,使用标签的一个叫name属性啊,Name属性name呢,它是表示构造方法的形参名,那第一种方式,那第二种方式是标签的叫做index的属性,它是来表示构造方法行参的位置。行参的位置从零开始,好,这是我们上节课一共就讲了这么多内容。
我来说两句