教你写框架系列之Spring第八讲事务概念讲解与Spring事务配置(三)

Posted by 田俊哲 on October 9, 2017

作者说

这一讲我们将在前两讲案例代码的基础上,去注解,改为xml方式配置我们的事务。

Spring的声明式事务的xml配置法

java-javascript

首先我们要把代码中的关于事务的注解全部去掉,然后我们来修改我们的配置文件,我们要做的第一步就是配置我们的事务管理器。

java-javascript

第二步我们要配置我们的事务属性,也叫配置事务增强属性,相当于我们使用注解,我们在注解里写的属性,我们上一讲讲过了五个属性,传播行为,隔离级别,异常是否回滚,知否只读,占用时间。我们都可以在这里设置。需要注意的是我们的写法。每一个标签就可以配置一种属性。

如上图所示我们对我们的purchase方法设置传播行为为REQUIRES_NEW。我们对所有包含get*字符的方法设置为只读。

java-javascript

第三步,我们要配置我们的事务切入点,我们第一章讲到我们spring的事务就是一个aop,所以我们要配置切入点。而且还要帮我们上面的事务管理器和我们的事务属性都拿到。这里唯一要讲的就是我们的expression写法,第一个*代表所有的任一修饰符,空格代表任意返回值,后面是要做用的位置所有类的所有方法,参数值任意。一般按照我上图的方式写就行。

三讲总结

我们通过三讲的内容系统的对事务以及spring的事务使用进行了讲解。内容真的很多,我们来回忆一下,我们在复习的时候要先看事务的四个性质,原子性一致性隔离性持久性,我们的隔离性又包含了多种级别,读未提交,读提交,重复读,序列化,不同的隔离级别可以解决例如脏读,不可重复读,幻读。我们要知道spring中默认的隔离级别是读提交。然后我们开始学习spring该如何配置我们的事务,我们使用声明式事务,我们知道其实spring把事务做成了一个aop,我们只需要写切入点那部分代码。我们实现了一个买书的功能,随后我们讲了我们事物的几个属性,其中特别讲了事物的传播,根据不同的设置,我们可以使用不同的事务对方法的方法进行管理。

紧接着我们用了xml的方式配置我们的事务,第一步先配置事务管理器,紧接着我们配置事物属性,每一个标签写某个方法都要给它增加什么事务属性,最后我们要配置事物的切入点,并且将我们上两步传入配置的管理器和事务属性传进来。就这样完成了我们xml的配置。

总结

最后谢谢大家的阅读。很高兴能在这里为大家分享这么多的知识,我很开心。我们下一讲见。

著作权声明

作者 田俊哲,首次发布于 Shmilyz Blog,本文原创,转载请保留以上链接!