1、什么是声明式事务控制
Spring 的声明式事务顾名思义就是
采用声明的方式来处理事务
。这里所说的声明,就是指在配置文件中声明
,用在 Spring 配置文件中声明式的处理事务来代替代码式的处理事务。
声明式事务处理的作用
- 事务管理不侵入开发的组件。具体来说,业务逻辑对象就不会意识到正在事务管理之中,事实上也应该如
此,因为事务管理是属于系统层面的服务,而不是业务逻辑的一部分,如果想要改变事务管理策划的话,也只需要在定义文件中重新配置即可
-
在不需要事务管理的时候,只要在设定文件上修改一下,即可移去事务管理服务,无需改变代码重新编译,这样维护起来极其方便
注意
:
Spring 声明式事务控制底层就是AOP。
2、声明式事务控制的实现
声明式事务控制明确事项:
- 谁是切点?
- 谁是通知?
- 配置切面?
① 引入tx命名空间

② 配置事务增强
③ 配置事务 AOP 织入
④ 测试事务控制转账业务代码
3、切点方法的事务参数的配置
其中,<tx:method> 代表切点方法的事务参数的配置,例如:
<tx:method name="transfer" isolation="REPEATABLE_READ" propagation="REQUIRED" timeout="-1" read-only="false"/>
- name:切点方法名称
- isolation:事务的隔离级别
- propogation:事务的传播行为
- timeout:超时时间
- read-only:是否只读
要点:
声明式事务控制的配置要点
- 平台事务管理器配置
- 事务通知的配置
- 事务aop织入的配置