00:00
各位同学,下面呢,我们继续来学习此文里边关于事物的操作,刚才呢,我们完成了基于注解方式实现生命式事务管理的配置,以及它的参数的说明,那我们下面咱来干什么呢?我们基于这个差买lo配置文件方式来实现生命式管理。但我强调在实际中呢,咱一般用的肯定都是注解方式,因为注解方式呢最佳的方便,但是我们用叉L方式做法,各位给他要进行掌握,所以咱下面就讲一下基于叉方式怎么进行声明式的数管理,看这个配置文件咱该怎么去做,那咱下面给他就写一下啊,首先我在里边吧,把步骤先写一下,然后咱就通过配置文件把过程给各位配置出来。那我看怎么做啊,首先里边的第一步注意啊,这些我们肯定都是带这个。
01:02
配置文件中进行配置,因为它里边没有注解,都是配置文件,那怎么做写一下啊,首先第一步操作,你需要配置一个叫事物。管理器这是第一步,然后第二步操作干什么呢?咱需要配置,就是我们这个叫通知。啊,配置你的通知,然后配置通知之后,我们需要配置你的切入点,以及我们的切面,就是通过配置文件把这做到配置切入点。还有这个叫切面,这个啊是我们要做的事情,然后这里边提到几个词,事务管理器,咱说的就是创建那个对象,然后大家看第二个叫通知。不是,各位是否记得什么叫通知,咱们讲a op中曾经提到过,就是你增强的那部分就叫通知,因为咱们现在要增强部分是不是就有咱的事物,所以我们的事物部分就要通知,然后下面有你的切入点和切面,那什么意思?就是现在我要把事物加到哪个类的哪个方法上,咱就做这个切入点指的是你的方法,然后切面就是把你的这个事物加到你的方法的过程,所以咱们现在就完成这个三步操作,通过三步咱在配置文件中把这个事物给他做到这个啊是我们要做的事情,那咱下面大家就具体来写下这个过程。
02:32
咱按照这个三步给它完成。那我们来配置啊,首先这里边我先把这些先给它都关掉,然后为了明显我在里边呢,就重新建一个配置文件,这文件我们叫BIN2点叉L,然后在B2里边咱们打开,这里边呢有之前的配置,而之前配置中咱们找到啊,首先在里边。大家看这里边的这句话不需要了,其他的需要你看其他的啊,有咱们这个开机组件扫描连接池JB的模板,包括这就是我们做的第一步叫配置数管理器,这一步我们就做到了,刚才做过了,然后做到之后我们看第二部分。
03:17
第二部分做什么呢?配置你里边那个通知,或者说你的这个。增强。写一下啊,第二步配置通知,就是咱事物就是通知我们把事物部分做个配置。那怎么配置,给大家写一下,咱们加个标签叫TX。大家看这词advice是不是有通知的意思,然后这就表示配置咱的通知,给它起个名字,比如说名字我随便起个,我就叫这个TX advice。这个啊是我的名字,然后在里边配置你的事物的一些相关的一些参数。我写一下啊,就是配置事物的一些相关参数。
04:04
然后配置什么角D位置,首先在里边我们加上一个叫TX attributes。大家看这词attribute是不是属性啊,或者说参数,然后在里边写什么,咱们这个位置啊,有一个叫TX method。Method什么意思?是不是有点方法呀?所以在里边我们需要做件事情。做什么事情呢,我这里说一下啊,你需要指定一下,你在就是哪种啊这么写啊,哪种规则的方法上面添加这个事物,那这句话什么意思呢?给大家强调啊,大家看,因为我现在我想在service里边的这个方法上是不是假是我,所以咱怎么做第一种写法,你可以把这个方法名字给它写过来,这么做没有问题,或者说呢,咱也可以这么做。
05:00
我写这个规则啊,比如现在我写一个count星号。不是各位师不能看懂,这什么意思啊,表示你方法名字只要是我account的开头的,是不是加上这个事物操作,所以在这要表示配置你这个哪些规则的方法上加事物,咱可以加方名字,或者加上你这种规则,咱来一个呃康的星号,表示你这开头的就加上我们这个事物啊,这是一个,然后写完之后里边有事物的加参数,大家看,就是咱讲那几个,比如说有这个。Isolation隔离级别,这个pro g,我们的那个叫做传播行为,比如咱加一个传播行为,包括加值我就不一写了,这些你都可以写,比如这个绿灯,超时时间回滚不回滚,隔离级别都可以加上,我就以一个为例啊,这样的话,咱就把这个通知部分做到了,就是配置你的事物的部分。这个啊完成,当然里边里面配置多个方法,咱就以这个为例,然后这个做到之后,咱看第三部分,第三部分呢,就是配置我们那个切入点,还有它的界面,把这个最终做到。
06:06
写下啊配置。切入点和切面,那怎么做呢?在里边我们加上一个叫a op config,通过a op做到,然后在里边第一部分先配置它那个切入点。啊,把切入点先做到。我写一下啊配置。切入点,那切入点的配置咱在之前提到过,我们要写一个叫切入点表达式,咱们讲a op中提到过,我这里边给各位再写一下啊,首先给这个切入点咱可以起个名字啊,比如这个名字我就给它随便起一个,我就叫这个,呃,就叫这个PT吧,啊起个名字,然后这个里边写上你的切入点表达式,再来一个execution。星号表示你的这个修饰符,然后后面加上你那个类所在的路径,那这个路径我把它复制过来。
07:06
咱们在这个com.at硅谷点五点service,然后里边比如现在我加上就是里边这个类的名字叫user service。然后加上之后再来个点,来个星号括号。点点。我说各位是否记得啊,它就表示你把这个user类里边的所有方法都给它进行这么一个操作,这叫用切入点表达式配置描对那个方法加事物,这个做到了,帮我起的名字叫PT,然后这个做到之后,咱下面再来配置一个东西叫切面。就让你的事物加到你的具体方法上,那大来写一下啊,里边加一个叫a up。哎,少写一个杠啊,我们加一个叫AOP。
08:00
这个叫adviser,然后在里边有两个部分,我把这部分先写出来啊,就首先我们写第一部分叫advise ref,还有一个叫point re,那什么意思大家看。Point card是不是切入点呀,咱切入点名字是不是叫PT,然后这里边是advice,就你的通知,我通知名字是不是叫PX的Y,把这赋值,它就表示把你的这个就是。这个咱说的事物的通知给他设置到这个PT这个。方法上这样的话就完成了切面,所以这个就是关于用叉L方式做到这个事物的配置,咱们把它做到了,所以大家会发现啊,这个过程呢,比注解要稍微麻烦点,但是它可以说更清晰的表示出了我们这个过程,咱们刚才提到事物用到的就是a up这个原理,所以它里面就很好填出来了,包你配置通知,配置切入点,包括配置切面。
09:04
这个啊,我们就最终写出来了,这是关于低于叉L方式,然后实现我们的声明式事务管理的配置。所以各位通过这个三步操作,能把它最终配出来。这个啊,我们就完成了,关这个做法啊,然后完成之后呢,下面咱们把这个效果我们来做个测试,看一下结果。那怎么测试,咱说一下啊,首先第一部分这里边这个注解我先注掉,因为目前咱不是用注解方式,咱是完全用配置文件做到,然后这里边配置文件对里边的方法也加这个事物啊,所以下面我们来测试。测试里边呢,我把方法稍微改一下,因为咱们现在给它就是换了一个配置文件,我这文件叫BIN2点叉L,那咱看效果能不能做到啊,咱看啊现在这注解我已经去掉了,只是用到了配置文件,咱通过配置文件来实现出这个效果,在效果中咱也给他手动加了异常,包括表里边目前都是1000,如果说效果正确。
10:12
那表中数据是应该是普遍的,应该会做回滚,那咱们试一下啊。看一下最终结果。我把这个执行。大家看这中的特点啊。首先这里边有咱说那个零不能做除数的异常,然后到表里边,我现在刷新,大家看我点这个refresh。数据是没有变呀,证明咱的事物就生效了,它就做了一个事物的回滚,所以这是关于我们基于叉L配置文件方式实现的声明式事务管理,这个完成了啊,所以说也就是说到这里为止呢,咱就把此文里边如何进行事物管理的配置,我们就完成了,要求各位重点掌握基于这个注解方式做生命式管理,包括基于配置文件方式做生命式管理,以及里边的相关参数给他要都记住,包括传播行为,隔离级别等等,这个咱们就完成了事物的配置。
我来说两句