🌲Spring事务抽象 - 简介
🍁Spring事务抽象 - 模型
Spring提供了统一的事务抽象
,可以让我们以统一的Api进行事务管理
。具体的操作
交给不同的TransitionManager实现
完成。
🍂 Spring事务抽象 - 接口介绍
PlatformTransactionManager
- 根据TransitionDefinition
创建事务、事务回滚、事务提交
getTransaction()
- 开启事务- commit() - 提交事务
- rollback() - 回滚事务
TransitionDefinition
- 定义事务特征,比如传播机制
、隔离界别
、readonly
、timeout
、遇到什么异常回滚
TransactionStatus
- 保存事务状态
Propagation
- 传播行为,一般查询方法
使用SUPPORTS
,更新、插入、删除方法
使用REQUIRED
Isolation
- 隔离级别
TransitionTemplate
- 用于编程式事务(用法类似JdbcTemplate)
TransitionCallback/TransactionCallbackWithoutResult
- 给TransationTemplate提供回调
🌳 声明式事务 - 注解方式
1️⃣配置TransactionManager(事务管理器)
<!-- spring-tx - 事务管理器-->
<bean id="transtionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 事务超时时间 default -1 -->
<property name="defaultTimeout" value="-1" />
<property name="dataSource" ref="datasource" />
</bean>
2️⃣开启@Transaction
注解支持
<!-- 声明式事务 - 开启注解 -->
<tx:annotation-driven transaction-manager="transtionManager