spring事务管理
1. 事务概念
事务是一组操作的集合,是一个不可 分割的工作单位,
这些操作,要么同时成功,要么同时失败
和mysql数据库的事务管理道理一样。
开启事务 start
提交事务 commit
回滚事务 rollback
2.操作实现
@Transactional
使用位置:service 层的方法上 类上 接口上
作用: 将当前方法交给spring进行事务管理,方法执行前,开启事务
成功执行完毕,提交事务,出现异常,回滚事务
3. 事务属性-回滚
默认情况下,只有运行时异常才回回滚,
rollbackFor属性用于控制出现什么类型异常类型错误,回滚事务
@Transactional(rollbackFor=Execption.class)
@Override
3.事务属性-传播行为
propagation 事务传播行为:
指的就是当一个事务方法被另一个事务方法
调用时,这个事务方法应该如何进行事务控制
例如a和b都有各自的事务,
在a里面调用b,事务该如何控制,
REQUIRED: 大部分情况用这个默认行为即可
REQUIREST_NEW: 事务之间相互不影响时使用
例如:下订单前需要记录日志,无论订单保存是否成功,
都需要保证日志记录成功