课程名称:Java工程师2022版
课程章节:Spring JDBC与事务管理
课程内容:
①Spring声明式事务:声明式事务指在不修改源码情况下通过配置形式自动实现事务控制,声明式事务本质就是AOP环绕通知,当目标方法执行成功时,自动提交事务,当目标方法抛出运行时异常时,自动事务回滚
课程收获:
今天学习了以下知识:
声明式事务配置过程
1. 配置TransactionManager事务管理器
2. 配置事务通知与事务属性
3. 为事务通知绑定PointCut切点
Spring事务传播行为
事务传播行为是指多个拥有事务的方法在嵌套调用时的事务控制方式 XML:<tx:method name="..." propagation="REQUIRED"/>
注解:@Transactional(propagation=Propagation.REQUIRED)
事务传播行为七种类型
事务传播类型 说明
PROPAGATION_REQUIRED(默认) 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择
PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行
PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常
PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起
PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起
PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常
PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作