编程式事务之基于XML的声明式事务控制
目录
PlatformTransactionManager平台事务管理
编程式事务控制相关对象
编程式:即使用java的api书写代码
声明式:使用配置去配置
PlatformTransactionManager平台事务管理
PlatformTransactionManager接口时spring的事务管理器,它里面提供来我们常用的操作事务的方法
PlatformTransactionManager是接口类型,不同的Dao层技术则有不同的实现类,例如:Dao层技术是jdbc或mybatis时:orqspringframeworkidbcdatasourceDataSourceTransactionManager
Dao层技术是hibernate时:orq.springframework.orm.hibernate5.HibernateTransactionManager
TransactionDefinition事务定义
TransactionDefinition是事务的定义信息对象,里面有如下方法:
设置隔离级别,可以解决事务并发产生的问题,如
事务的传播行为
TransactionStatus事务状态
TransactionStatus接口时提供事务具体运行状态(是被动产生的,不需要自己去设置),方法介绍如下
基于XML的声明式事务控制
spring的声明式事务就是指在配置文件中声明,用在spring配置文件中的声明式的处理事务来代替diam式的处理事务
转账业务演示事务
controller包下AccountController类
service包下AccountService接口
接口实现类
pojo包下Account类
dao包下AccountDao
实现类下
配置文件applicationCntext1.xml下
pom.xml下
数据库中
运行结果
数据库中
当发生错误时,数据库中的值都不变这就控制住了事务
切点方法的事务参数的配置
其中<tx:method>代表切点方法的事务参数的配置。例如:
<tx:method name="save" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false"/>
- name:切点方法名称
- isolation:事务的隔离级别
- propogation:事务的传播行为
- timeout:超时时间
- read-only:是否只读
声明式事务控制的配置要点
- 平台事务管理器配置
- 事通知的配置
- 事务aop织入的配置
- 点赞
- 收藏
- 关注作者
评论(0)