一。事务处理方式
1. 关系型数据库事务 处理
2. 传统的jdbc 事务处理
3. 分布式的事务 处理方
这三种事务处理方式 。前两种处理方式只适合处理一个数据库的事务操作。而后者可以处理多个事务操作。
二 。spring 的事务的工作机制
spring的事务处理一般是基于动态的aop 的机制实现的。aop 的 工作机制是采用代理的方式实现的。(动态代理: 要求必须实现一个接口。静态代理:一般指的是 CGLIB). 要求事务要么全部完成 ,要么全部失败(数据回滚)。从而保证的数据的一致性,隔离性 ,原子性 ,持久性。
三 。spring 中事务的 核心接口 【PlatformTransactionManager】
从源代码中可以看到 ,其核心接口 定义了三个代理的方法。 开启一个事务 ----》 提交事务----》事务回滚
其中
TransactionDefinition 代表这事务的一些属性
TransactionStatus 代表着 目前事务
四 。spring 提供了两种事务处理
1. 编程式事务处理
2. 声明式事务处理 (借助 aop 来实现)