Spring中的事务
今天给大家介绍以下几个内容:
- 事务简介
- 事务管理
事务简介
事务指数据库中多个操作合并在一起形成的操作序列。
事务的作用
- 当数据库操作序列中个别操作失败时,提供一种方式使数据库状态恢复到正常状态(A),保障数据库。
即使在异常状态下仍能保持数据一致性(C)(要么操作前状态,要么操作后状态)。 - 当出现并发访问数据库时,在多个访问间进行相互隔离,防止并发访问操作结果互相干扰(I)。
事务特征(ACID)
◆ 原子性(Atomicity)指事务是一个不可分割的整体,其中的操作要么全执行或全不执行
◆ 一致性(Consistency)事务前后数据的完整性必须保持一致。
◆ 隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的。
事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
◆ 持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。
事务隔离级别
事务管理
使用AOP控制事务
声明式事务(XML)
声明式事务(注解)
<!--管理事务-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--注解开启事务-->
<tx:annotation-driven transaction-manager="transactionManager"/>
事务传播行为
以上就是分享的全部内容了,如果有不恰当的地方,欢迎指正。