SRPING-事务管理

事务的四个特性ACID:
原子性(Atomic):事务是一个原子操作,要么都完成,要么不起作用
一致性(Consistency):事务无论成功还是失败,必须保证业务处于一致状态,不能是部分完成部分失败
隔离性(Isolation):事务会处理相同的数据,事务不能相互影响
持久性(Durablity):事务的结果被写到持久化存储器中

Spring事务管理高层抽象主要包括三个接口:
platformTransactionManager:平台事务管理器,包含事务的提交回滚这些信息,通过这个接口spring为各个平台如jdbc、Hibernate等提供事务管理器
TransactionDefinition:事务定义信息(隔离、传播、超时、只读)
TransactionStatus:事务具体运行状态

事务四种隔离级别:
read_commited、read_uncommited、repeatable_read、Serizable(完全服从ACID的隔离级别)

spring事务传播:
当事务被另一个事务调用时,必须指定事务应该如何传播,spring有7种事务传播方式
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




猜你喜欢

转载自blog.csdn.net/ignorewho/article/details/80455194
今日推荐