Spring事务简介
事物作用:在数据层保障一系列的数据库操作同成功同失败
Spring事物作用:在数据层或业务层保障一系列的数据库操作同成功同失败
提供了一个接口:同时提交事物或同时回滚事物
案例:银行账户转账
需求:实现任意两个账户间转账操作
需求微缩:A账户减钱,B账户加钱
分析:
1:数据层提供基础操作,指定账户减钱(outMoney),指定账户加钱(inMoney)
2:业务层提供转账操作(transfer),调用减钱与加钱的操作
3:提供2个账户和操作金额执行转账操作
4:基于Spring整合MyBatis环境搭建上述操作
结果分析:
程序正常执行时,账户金额A减B加,没有问题
程序出现异常后,转账失败,但是异常之前操作成功,异常之后操作失败,整体业务失败
Spring事物
事物管理员:发起事物方,在Spring中通常指代业务层开启事物的方法
事物协调员:加入事物方,在Spring中通常指代数据层方法,也可以是业务层方法
事物相关配置
案例:转账业务追加日志
需求:实现任意两个账户间转账操作,并对每次转账操作在数据库进行留痕
需求微缩:A账户减钱,B账户加钱,数据库记录日志
分析:
1:基于转账操作案例添加日志模块,实现数据库中记录日志
2:业务层转账操作(transfer),调用减钱、加钱与记录日志功能
实现效果续期:无论转账是否成功,均进行转账操作的日志留痕
事物传播行为
事物协调员对事物管理员所携带事物的处理态度