一、Java事务导引
二、Spring事务核心接口
三、Spring事务属性定义
而TransactionDefinition接口内容如下:
public interface TransactionDefinition {
int getPropagationBehavior(); // 返回事务的传播行为
int getIsolationLevel(); // 返回事务的隔离级别,事务管理器根据它来控制另外一个事务可以看到本事务内的哪些数据
int getTimeout(); // 返回事务必须在多少秒内完成
boolean isReadOnly(); // 事务是否只读,事务管理器能够根据这个返回值进行优化,确保事务是只读的
}
我们可以发现TransactionDefinition正好用来定义事务属性,下面详细介绍一下各个事务属性。
(1)传播行为(传送门 Spring - 事务之传播行为):
(2)隔离级别(传送门 Spring - 事务之隔离级别):
四、Spring事务状态
五、代码
- 编程式 Spring - 事务之编程式
- 声明式 Spring - 事务之声明式
- 总结
六、Spring 事务原理机制(传送门 Spring - 事务之原理机制)
附:注意事项
- 事实上Spring并不直接管理事务,而是提供了多种事务管理器。他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。
- 一般事务隔离级别设置TRANSACTION_READ_COMMITTED就差不多了,剩下的通过使用数据库的锁来帮我们处理别的。
- 待更新...