编程式事务之基于XML的声明式事务控制
【摘要】 目录编程式事务控制相关对象PlatformTransactionManager平台事务管理TransactionDefinition事务定义事务的传播行为TransactionStatus事务状态 基于XML的声明式事务控制切点方法的事务参数的配置编程式事务控制相关对象编程式:即使用java的api书写代码声明式:使用配置去配置PlatformTransactionManager平台事务管...
目录
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织入的配置
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)