事务的API介绍
-
事务的特性
- 原子性
- 一致性
- 隔离性
- 持久性
-
spring事务管理高层抽象主要包括三个接口
-
platformTranscationManager(平台事务管理器)
- TranscationDefinition(事务定义信息,定义隔离级别)
-
事务的隔离级别
mysql数据库默认的default隔离级别是repeatable_read
oracle数据库默认的default隔离级别是read_commotted
-
事务的传播行为:解决业务层方法间相互调用的问题
前三种是在一个事务中,后三种是不同的事务中(红色重点记)
- TranscationStatus(事务具体运行状态)
是否有保存点,是否是一个新的事务等等状态。事务平台管理器会根据事务的隔离级别,传播行为等属性管理事务,这些具体的属性特征都会放到该对象当中。
spring支持两种方式管理事务
-
编程式的事务管理(实际中不常用,手动编写代码)
-
使用xml配置声明式事务(常用,重点,基于aop思想实现)
-
基于transactionProxyFactoryBean方式(不常用,需要在每一个事务管理的service都配置一个代理类)
-
基于AspectJ的xml方式
-
基于注解的方式(在需要事务控制的类上加上@Transactional(propagation = Propagation.NOT_SUPPORTED,isolation = Isolation.DEFAULT,readOnly = false))
网友评论