00:00
来,我们接着看下一个,呃,下一个的话呢,就来到我们已经使用过的一个东西了啊,这个的话呢,我们就简单给大家去介绍就行了啊,叫做environment,就是我们的环境配置啊,这个的话其实比较简单了,呃,那么我们也可以去参考一下我们这个位置啊,叫做environment,那你得往下翻了啊,因为它中间呢,还有一些别的,我们是不会不讲的啊,直接往下翻,找到我们的environment,好,还在下面啊,OK,到了environment。啊,什么东西啊,环境是吧,然后你看一下说买呢,是允许我们去的,就配置吧,配置什么magic,就是我们多个吧,对吧,就可以配置什么,配置多个这个环境的,然后呢,帮助你去什么呀,哎这呃,允许你的这个搜Q呢,去映射什么不同的一些什么数据库,看到了吧,哎,就是啊你可以配置哦多个环境,比如说你可以配一个操作买的这个环境,当然你也可以配置一个什么操作,其他的比如说Oracle的一个环境啊,都可以进行配置的,或者说呢,我们就拿一个数据库来讲的话呢,我也可以配多个对吧,比如说在一个库里面我有不同的表,诶这个表呢,是测试的时候用的,比如说另外一个表呢,是我们啊开发的时候去用的啊在一个表呢,是我们线上这个真实环境里面去用的,对吧,那么你就可以什么去配置不同的环境,然后等你啊,诶你处于哪个阶段,那么你就去使用哪个环境,比如说现在处于开发阶段,好,那你就使用开发的这个环。
01:32
境,你现在处于测试阶段,好,那你就使用测试的这个环境,比如说我要上线了,那你就使用线上的这个环境,它都是支持的,能理解吧,啊这是啊,允许我们去配置多个环境啊,那么它这里面具体的一个配置呢,我们也需要给大家去讲一讲啊。来还是回到我们的这个位置,那么这应该就是我们第四个了啊,第四个就是我们的环境门啊,然后呢,首先啊,在这个environments里面,好,我来给大家去说一下,就是MYS呢啊支持配置多个环境,然后呢,注意它是通过什么呀,那你配这个动号,我具体使用哪一个呢?它通过default好来指定具体使用的环境,能听懂吧,比如说你看了哈,我在我这里面的当前有一个啊,那假如说我再去写出一个来啊,再来写一个email。
02:27
好,那么呃,首先先说有一个错哈,我们先不管它,比如说我就写了一个叫做test,这个环境呢,是我的开发环境啊,这个环境呢是我的测试环境,那我到底用哪一个呢?你就通过这个default去指定你具体使用这个环境的一个ID,看明白了吗?那这里面我们指定的是development啊,那就是一个开发的一个环境了,明白什么意思了吧?OK,好,那么再来具体看一下这个environment,那么它就是一个具体的环境,好,那么我们刚把它写出来的时候呢,它就已经开始报错了,看到没有?为什么报错呢?他说你这个environment呢,必须要去匹配一个什么呀,Transaction major and什么no source,也就意味着你这个东西不能单独出现到这儿。
03:13
只要你出现这个environment,那么你里面呢,就必须得出现两个东西,一个是trans manager,一个是data source,这两个东西必须得存在,你看我把它写上以后还报错吗?不报错了吧,啊,那这个错是他怎么报出来的呢?其实也是由我们的这个DTD来去决定的。能理解吧,所以这个文件的话呢,诶它既可以啊,诶约定什么呀,约定一下你这个X ma中能写什么东西,当然了它也可以使用这个ddd呢,去检检测你这个当前XL这个语法写的对不对啊,那你来看一下,我们点进来,进来以后呢,我们就找到我们正在配置的一个environment啊,是不是在这个位置啊,这是我们的environment吧,然后呢,Environment里面呢,我们可以去配一个environment是不是它呀,那么这个就是对我们environment的一个什么东西啊。
04:08
声明嘛,然后呢,注意在这个environment里面,括号里面括住的就是一个trans manager以及一个data source啊,那么这个就代表的是必须要去写的,但你会发现,诶,怎么有的里面是一个加号,有的里面是一个什么型号啊。对吧,有的呢,又没有东西,这都是啥意思啊。注意,什么都没有的代表着这个东西必须得有,而且只能出现一次。而这个加号代表着。必须得出现一次或者是N次,而这个信号代表着可以不出现,可以出现什么N次。理解吧,哎,一个是零到N,一个是一到N,一个是只能出现一次,而且是必须得出现的,明白了吧,所以这里面的这个语法呢,就约束了你这个XL文件中到底能写什么东西啊,那么它既然这么约束我们,也就意味着这两个东西是你环境里面必须要进行配置的啊,那我们就来看第一个乘3MANAGER,我们就来看看它到底能配啥啊,往下翻啊,找到我们的乘3MANAGER,那么这个东西什么意思呢?它叫做事务管理吧,对不对?所以说告诉大家啊,My bet,它自带了事务管理。
05:29
好,那么这个允许的取值是谁呢?一个是JDBC,一个是慢的,好,来,我把它CTRLC拷贝出来,写到这个位置吧。然后呢,啊,Environment OK,这是一个什么具体的环境,那么在这个下面呢,我们有一个TRANS3MANAGER,好请衫manager OK,那么这就是我们的一个啊事物,哎,管理,然后呢,它允许的取值呢,是这两个啊,一个是我们的GDBC啊,一个是我们的manage的,看到了吧,哎,允许取这两个值啊好,那么你看一下我们默认的是就使用了这个JDBC啊,对吧,其实呢,它就是使用我们的这个JDBC的一种什么事务管理,那么这个JDBC这四个字母放到这是什么意思呢?大家注意啊,其实它也是一个别名,它也会对应一个具体的类型啊,在买贝里面,它好多地方都使用到了这个别名,那么这个别名是在什么地方定义的呢?我告诉大家啊,我们需要去往一个类啊,这个类呢。
06:39
我们来找一下,它叫做configuration,注意哈,这个configuration特别多,但是我们要找的是什么呀,我们要找的是。哎,BE3声里面的这个conguration看到了吧,不要找错了啊,进来进来以后的话呢,我们往下翻,翻到一个构造器,哎,就这个位置是不是有个构造器啊,在构造器里面呢,它通过我们的别名注册器,然后呢,去注册了一个别名,你看第一个就是他为我们的这个类型呢,注册了一个别名叫做JDBC,所以说你的JDBC写到那相当于你是写了这个类。
07:16
明白了吧,相当于你写的是这个类,那么同样的道理在它下面呢,我们就能看到这个manin,好,你也把它写到这,哎,相当于这个是manin,你写了一个,它理解了吧,哎,这就是一个别名啊,好,当然了啊,注意大家呢,不用再去管,那你这个每一个到底是什么意思啊,这个我们就不必要再去研究了,为什么呢?大家记住一个结论啊,其实我们还可以自己去写这个事务管理器的啊,我们这些呢,都不给大家去说了啊,因为我们不会去做结论就是什么呀,事务管理好,将来要什么呀,将来是什么交给去做的。交给什么呀,交了交给spring来做,因为我们这个里面是不是有个特别好的生命式事务管理啊,对吧,我在讲的时候就一再强调它特别重要,那么虽然说你这个买分你本身是自带的这个事务管理的,但是我不会去用的,明白吧,因为它的这个事务管理是什么呀,是基于我们这个啊DAO层啊,基于这一层去做的,那么我们在单独讲的时候呢,这个事物的话,其实我们应该作用到我们的业务层,对吧,所以说将来我们就会使用我们的诶support的这个生命的事物来去做好,暂时的话呢,你就因为你单独讲买倍电子的话,那你还得去使用它,所以说我这个位置呢,就不动了,就配成一个JDBC就行了,明白了吧,好来接着往下看,呃,下一个呢,是这个data source,那么这个data source的话就比较好理解了吧,啥意思啊,数据源哎,就是我们的数据源了啊说白了数据源然后呢,它这里面呢,现在配的是一个破的,那么它到底能取哪些值呢?还是PDF里面往下翻,翻到下面我们就能看到。
08:55
Source,它的解释就是能取这么几个值,OK,来,我也把它拷贝过来。
09:03
好,拷贝过来呢,放到这个位置好,第一个是on,第二个是port,第三个是judi,分别是啥意思呀?解释一下这个是什么呀?不使用连接池,To是使用连接池,Gdi呢,是从我们的web应用服务器啊,类似于这个toca,从这个里面来获取我们的数据源。明白吧,大概了解一下就可以啊好,那么现在我们默认配置的是一个pod,它在使用连接池,那我的问题是它用的什么连接池啊。我们在使用买有没有导过C3P0或者DBCB相关的包,没有导过吧?那没有导过他用的到底是谁的连接池啊,注意他自己做了一个明白吧,好,所以说这个东西大家应该也猜到了,是不是就是一个别名啊?好,那你来看这个位置就在它的下方,是不是就这么几个类啊?好,来我们挨个拷贝一下啊,Onport就是一个onport data source factory。
10:02
好吧,那既然收到了,我们就把它拷贝到这,Poor的话就是什么呀,Poor的data source factory OK,然后呢,再来一个就是我们的啊用Di了啊Di factor。OK,我也把那什么放到这个地方,大家来都来看一看啊,这就是我们的一个数据源,那么呃,其实你看一下他们都是一个什么什么dinosaur factory吧,对吧?那么我们往深了研究一下的话,你看一下每一个它其实都实现了一个data source factory,那我们点到这个里面,你发现这就是一个接口,其实我们也可以自己去写一个类,实现这个接口,是不是也能做出一个。Data source来啊可以对吧,哎,也是可以的啊,同样啊,刚才我们讲的那个事务管理也是一样的,他们都是实现的一个什么呀,三是manager Cha,三是factory啊,你都去实现这个接口,也可以自己写一个的。啊,但是呢,还是啊,记住一个结论就行了,这个数据源呢,我们将来也是要什么呀,哎,将来啊,将来交给谁啊,交给我们这个SPA去做的,明白了吧,因为对于我们这个整个的这个将来是用的时候,肯定就是一个SSM这样的一个什么环境了,啊在这个环境里面的话,我们基本上把所有对象的一些管理呢,肯定是要交给这个point的LC容器去管理的,明白这个意思了吧,因此诶,现在的话,我们暂时呢,先这么去用,将来这些东西呢,通通都要交给我们的死朋友去做的,所以说呢,我们也就不必要去深入性的研究他们,大家只是对它有一个最基本的了解就可以了。
11:38
明白了吧,OK,那么像这个环境的话呢,我就把它注释掉了啊,我就不再写了。听明白了吧,这就是我们用到的一个环境啊。
我来说两句