Spring 事务管理概述

事务管理的核心接口
在spring的所有jar包中,包含了一个名为spring-tx-4.3.6.RELEASE的jar包,该包就是spring提供的用于事务管理的依赖包。在其中我们可以找到3个接口文件PlatformTransactionManager,TransactionDefinition和TransactionStatus。
这三个接口文件就是spring事务管理所涉及的③个核心接口。

1:PlatformTransactionManager

接口是spring提供的平台事务管理器,主要用于管理事务。提供了三个事务操作的方法,
TransactionStatus getTransaction(TransactionDefinition definition):用于获取事务状态信息.
viod commit(TransactionStatus status):用于提交事务。
viod rollback(TransactionStatus status):用于回滚事务。

2:TransactionDefinition

TransactionDefinition接口是事务的定义的对象,该对象中定义了事务的规则,并提供了获取事务相关信息的方法。
String getName():获取事务对象名称。
int getlsolationLevel():获取事务的隔离等级。
int getPropagationBehavior():获取事务的传播行为。
int getTimeout():获取事务的超时时间。
boolean isReadOnly():获取事务是否可读。
在事务管理过程中,传播行为可以控制是否要创建事务以及如何创建事务,通常情况下,数据的查询不会影响原数据的改变,所以不需要进行事务管理,而对于数据的插入,更新,删除操作,必须进行事务管理,如果没有指定事务的传播行为,spring默认传播行为是REQUIRED。

TransactionStatus

TransactionStatus接口是事务的状态,它描述了某一时间点上事务的状态信息。该接口中包含了6个方法,具体如下。
void flush():刷新事务。
boolean hasSavepoint():获取是否存在保存点。
boolean isCompleted():获取事务是否完成。
boolean isNewTransaction():获取事务是否是新事务。
boolean isRollbackOnly():获取是否回滚。
void setRollbackOnly():设置事务回滚。

事务管理的方式

spring中的事务管理分为二种方式:一种是传统的编程式事务管理,另一种是声明式事务管理。
编程式事务管理:通过编代码实现事务的管理,包括定义事务的开始,正常执行后的事务提交,异常时的事务回滚。
声明式事务管理:是通过aop技术实现的事务管理,其主要思想是将事务管理作为一个切面代码单独编写,然后通过aop技术将事务管理的切面代码植入到业务目标类中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值