Spring源码学习之--事务类型

本文详细介绍了Spring框架中TransactionDefinition接口定义的各种事务类型及其特点。包括REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED等传播行为。

Spring事务类型定义在接口 TransactionDefinition 中,有以下事务类型,与EJB类似

传播行为(PROPAGATION)

1) PROPAGATION_REQUIRED : 缺省的事务类型,当前方法如果没有事务,会自动创建事务。

2) PROPAGATION_SUPPORTS :表示当前方法不需要事务性上下文,但是如果有一个事务已经在运行的话,它也可以在这个事务里运行

3) PROPAGATION_MANDATORY :如果当前方法没有事务,将抛出异常

4) PROPAGATION_REQUIRES_NEW: 表示当前方法必须在它自己的事务里运行。一个新的事务将被启动,而且如果有一个现有事务正在运行的话,则将在这个方法运行期间被挂起

5) PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起

6) PROPAGATION_NEVER: 以非事务方式执行,如果当前存在事务,则抛出异常

7) PROPAGATION_NESTED: 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值