00:00
在刚才的内容中呢,我们讲到了基于叉M方式实现自动装配,那我们下面继续往下学习,咱们下面要讲的是IOC操作中的并管理,我们要实验就是引入外部的属性文件。那这部分什么意思呢?给大家先说一下这里边的用场景,然后咱们通过具体例子来演示一下,给各位强调,就是咱们之前呢,我们的做法中,我们要创建一个这么一个类,创建一个对象,然后在里边呢进行属性的注入,就在里边写proties,然后里面加上这些值。当然各位注意,如果说啊,你一个类中的属性很多,那我里边是不是要写很多的pro,包括里边的值是不是都要在里边写,而这么写的话并不是很方便,特别是当你发生变化的时候,咱还需要去改我们的差配置文件,而这文件中可能还有其他配置,所以改起来并不是很方便。所以咱们一般怎么做呢?咱就可以把一些固定的值或者一些相关的值放到一个其他的文件中,比如说给它放到一个pro的文件中,然后咱把那个P文件引入到我们插中去读取其他文件中内。
01:21
而这场景中一般用在什么地方?比如说我们在操作数据库中,是不是有一些数据库的固定值,假如说你的数据库的那个驱动地址,用户名、密码,那那就可以把这个数据库这些值放到一个pro的配置文件中,然后在叉中去读取这个配置文件中的内容,进行这么一个注入过程,所以这就是要引入外部使用文件,也就是把这些值放到pro的文件中,然后咱给它引入进来进行读取。这个啊是咱说的场景,那这里边怎么做,咱们一步来做一下,首先第一步。咱就以这个数据库配置为例,比如第一个呢,我们先不进行外部文件,咱先直接配置一下我这个数据库的信息,就是在里边做配置,但是数据库的信息怎么配置呢?给大家强调,各位应该知道我们在连数据库的时候,一般是不是用到这个。
02:16
连接池,所以咱现在就通过配置这个连接池完成数据库配置,而连接池有很多,咱一般比较常用的有一个东西叫。德鲁伊各位应该知道啊,所以我们现在就来配置一个德鲁伊的连接池,咱们先通过直接方式配置。然后再通过引入外部属性文件方式分别完成这个做法。然后写一下,就是第一个直接配置,第二个通过引入外部的属性文件配置数据库的。连接池,咱们把这个给各位最终做个演示,那咱首先看第一个先直接进行配置,那我来写一下怎么做啊,因为咱要用到德鲁伊的连接池,所以在里边呢,我们肯定要引入。
03:09
德鲁伊连接池的这么一个依赖,或者它那个炸包,把这个引入,引入之后再来做这个配置,那我现在引入一下啊,这个炸包呢,我在资料中是提供出来了,在我这个都一里边有这么一个都数一的炸包,那我们首先把这炸包先给的就是。引入到我们的项目中来,那我现在把它就复制一下,做个引入。这是德鲁伊连接池的Java包,然后给它复制到我们这个lib的目录中,给它复制,复制之后把它就引入到我们当前的项目中来,咱们做个引入。在这里边我们点这个加号。然后找到咱们这个DEMO2LIB中这个德一的这么一个连接池,把它加到里面来。
04:01
现在啊,大家应该就加进来了,这是我们添加了这么一个六一的连接池啊,咱们成一个添加,然后添加之后呢,在里边我们进行这个连接池的配置,那怎么做呢?首先在里边呢,为了明显我再来创建这么一个配置文件。然后配置文件,比如就叫这个B6点叉L,咱们把这个做这个连接配置。然后写个注释,咱们先。直接去配置。连接池,那怎么做呢?给大家写一下啊,做法应该比较简单,首先咱肯定是创建一个对象,就是创建得录一连接对象,它的对象应该是这个得入一的it source这个对象,那咱现在把它就做创建,而创建方式咱肯定是写一个ban ID class,在里边注入它的切换属性,那咱给他就写一下啊。我在里边实现加一个B。
05:02
ID。再来个class class里边加上它那个路径就是com阿里巴巴这里边包中的啊阿里巴巴点上德鲁伊,点上这个连接池,然后这个叫德鲁伊source,然后给它起个名字,比如就叫it s,这样的话把这对象创建了,然后创建之后呢,在连接池中有一些相关属性,就是里边一些相关的值,比如说你的驱动名称,包括数据库的名字等等一些内容,那咱把这个给他也是。设置一下,而这些名字应该说比较固定,那我就从我这个资料中直接复制了啊,我就不再敲一遍了,也就是固定的这么几个值。我把这几个值咱给他直接复制过来,然后给他写下。我这里边是一个表达式,就咱一会讲啊,我先写固定值,我先去掉。然后大家看在连接池中呢,有这么四个最基本的属性,就是类中的属性,第一个叫driver class,它代表你那个驱动名称,那那把驱动名称写下就是com点。
06:12
买circle.adbc点。Driver。这个啊是数据库的驱动,然后第二个是数据库的地址,我们就是JDBC冒号买circle冒号杠杠local house的,这是3306,加上你的数库名字,比如我叫这个user。DB。这是一个第二个地址,然后第三个是你的这个连接数据库的用户名,第四个是连接数据库那个。密码,所以这样的话,我们就完成了数据库连接时配置,这种方式是直接进行配置,在配置文件中直接创建对象,然后注入它的这个属性,这各位给他要属性给咱之前讲都一样,就是这里边我们用的是都一连接池完成这个配置。
07:05
这各位知道啊,但是这个配置之后,大家发现现在里边这些值是不是都是固定的,并且我们直接在里边写出来了,而我现在可以把这值怎么样写到一个外部的配置文件中,就是一个pro的配置文件,然后咱把配置文件引入过来,可以在里边取那个配置文件中的那种,那咱们来写第二种方式,就是咱要讲的重点引入外部的属性文件。咱们把它实现。那我们看怎么做啊,首先第一部分咱们先创建一个外部的属性文件,就是一个practice格式的。这么一个文件在里边,我们就写上那个数据库的这些信息。这是里边的第一部分,那咱现在给他创便,那这创建呢,我就给它放到我们的src下,为了方便,然后在里边写一个文件,文件起个名字,我就叫JDBC.properties。
08:09
大家看一个文件,因为这个JDBC,这个pro,这个文件格式应该就是key value,就是名称等于值这个结构,这里边我写一下,首先它的名称是随便写的,那我随便来一个,比如第一个我就来一个pro,点上这个driver。Class后面加上我们的驱动名称,就是刚才写的里边的这个。com.my circle.jbc.driver这是第一个,然后第二个,比如来一个这个叫URL,就是你那个数据库的地址,地址应该就是它,我把这一部分咱就直接。复制过来第二部分,然后第三部分prop点上这个叫username,是我们的用户名,包括第四部分这个叫password,我们是这个root,所以这样的话咱就把这个。
09:03
Property这么一个外部的配置文件完成了,里边加上了数据库这些基本信息,我这里强调啊,你这里边等号左边部分可以随便写啊,咱们一般建议最好不写某一个单词,比如你写个drive class,这么写很容易冲突,咱给他写到就是比如说来一个proper,点上这么一个名字,这样保证它是不会冲突的。这个啊,是咱们写的一个使用文件,然后这个写完之后,第二部分给大家写一下啊,因为咱们现在要读取这个配置文件中这个内容,所以第二步怎么做呢?咱就要把这个外部的这个。Properties。这么一个属性文件,引入到我们的这个配置文件中来,给它做个引入,然后引入之后再进行读取,那咱先完成这么一个引入。怎么引入给各位说一下啊,就是这个过程中呢,咱就需要给他先。
10:05
在里边呢,引入这么一个名称空间。这名称空间叫做contest名称空间,然后引入之后再完成这个操作,那我把它写下啊,名称空间咱之前用过,比如咱之前用过这里边的找一下是不是有一个。P,还有us,现在再多加上一个名空间叫做contextt,咱们还是按照之前方式快速改一下,我在里边自个修改啊。然后在里边我也是复制一个,把这名字改一下,我们就叫这个con con txt上下文,然后后面名字改成叫contextt,改完之后这位置把它里面这两个文件也给它改一下。啊,那我们做一个修改。咱们看里边啊,就是这位置呢,首先里边的第一部分,你把这个改成contest,这里边改成contest,然后spring-contest。
11:08
叉SD这样的话,咱就把名称空间做这个引入,这是里边的第一部分啊,咱就肯定需要做这个事情,因为需要用到这里边那种,把这个外文件需要给它引入做到这个啊第一部分。我把这个给各位。截过来,然后把里边重点部分我用红色特别标一下,就这个contest。包括下面的这个位置有一个contest。这个啊,我们就做到了,然后做到之后呢,下面咱就在我们的spring的配置文件中使用一个标签引入这个外部的。属形文件,把这个我们给它引入进来,那怎么引入,咱们来写一下啊,就是下面做法就是呢,咱们就是来到我们的配置文件中。
12:00
这是刚才写的这行我先给它注掉啊,这是最基本方式,先注掉位的明显啊。先注掉,然后在里边怎么做呢?做法就是几个注释。先引入外部的属性文件,而引入做法就是咱家这标签叫context这个标签,然后有一个叫property place holder这个标签,在里边有一个这么一个属性叫location。Location是什么意思?是不是有本地意思?然后在location里面加上你要引入到外部文件的路径,因为我的外部文件在src下,最后来一个class pass。然后在里边加个冒号,加上你的JDBC.pro这样的话把这个文件就并进来了,然后有之后呢,下面咱就可以配置连接池,跟上面这个类似,我用它快速改一下。这是连接值,我把这个注释先给它去掉,然后怎么做?我强调啊,刚才咱们写的是不是写的固定值啊,现在这里边不是写固定值了,咱把这值要通过读取这个就是pro的这个文件得到,那怎么得到,在里边我们Y6中加上一个表达式,注意啊,这个表达式是此文里边的一种表达式,然后表达式中加上里边的什么就是它等号,左边就是它的K的名称,你把这个。
13:32
拿过来,这样的话就可以通过表达式从文件中根据K把后面的值取到后面几个,以此类推,然后给他都写完。第二个加上表达式,然后这是它的K,第三个加上表达式,然后把它的key我们也是。复制过来。包括最后一个这个密码也是加上这个。的名称。
14:01
所以这样的话,我们就完成了外部属性文件引入,包括最终也完成了编辑值配置,它就是这么来做,最后啊给各位在快速回避,第一步,我们先因为配置德鲁伊嘛,先把这依赖引住,然后引入之后咱建一个外部损用文件叫gd bc pro,里边是KY6这么一个结构,Key是名称,Y6是值,然后在里边咱们引入count泰名称空间,把这文件引入在里边用表达式根据你的文件中的K把它的值取到表达式,就是里面那个Dollar符号大括号。然后把它最终完成,所以这样的话,咱们把这个就最终写完了。这就是我们讲的关于在插入文件中怎么引入外部的使用文件,咱们一般这种场景中呢,经常用在我们这个数据库的这个配置中,把数据库配置我们一般都是写到我们的pro的文件中,然后在插ML中引入去读取里面内容啊,这是它一个设计场景,然后后面讲那个关于JDBC他里的操作中会用到这个东西,各位。
15:11
把这一部分先给它知道,所以咱们就演示完了,也就是说到这里为止呢,咱就把这个loc里边的B管理中,基于叉L放射这些应该都变示完了,里边主要包含两大部分,一个是叉M创建对象,一个是叉买注入属性包注入属性中咱讲了很多,比如说基本类型,集合类型,包括里边。生命周期自动域,自动装配外部使用文件等等,各位把这些都要给他出现掌握,主要就是B管理中叉L方式创建对象以及注属性。所以各位啊,把这些自己给他动手好好去练习一下。
我来说两句