农业机械AR质检是什么?安宝特拓影能发现哪些装配和结构问题?
2026/7/24 12:32:00
事务作用: 在数据层保障一系列的数据库操作同成功同失败
Spring事务作用: 在数据层或业务层保障一系列的数据库操作同成功同失败
模拟银行账户间转账业务
需求: 实现任意两个账户间转账操作需求
微缩: A账户减钱,B账户加钱
分析
问题分析
通过Spring事务管理解决问题
理解Spring处理事务的原理
Spring为什么可以管理数据层的事务?
因为 注册Spring事务管理器 和 创建Mybatis数据连接 使用的是同一个dataSource(数据源对象)
Spring的事务可以进行精细化的配置
public interface AccountService { // readOnly默认值是false, 是读写事务 @Transactional(readOnly=true,timeout=-1) public void transfer(String out,String in ,Double money)throws IoException; }/** rollbackFor: 设置事务的回滚异常 程序中出现异常, 以下两种异常可以触发事务回滚: 1. Error系列, 比如内存溢出 2. 运行时异常, 比如 xxxException 其他的异常类型不会触发事务的回滚 恰巧io exception不属于运行时异常, 所以默认不触发事务 如果需要的话, 就自己配置一下 */ public interface AccountService { @Transactional(rollbackFor = {IOException.class}) public void transfer(String out,String in ,Double money)throws IoException; }转账业务追加日志
需求: 实现任意两个账户间转账操作,并对每次转账操作在数据库进行留痕
需求微缩: A账户减钱,B账户加钱,数据库记录日志分析
事务传播行为: 事务协调员对事务管理员所携带事务的处理态度