Spring事务管理
来源:互联网 发布:正规网络博客公司 编辑:程序博客网 时间:2024/05/20 04:15
Spring的特色之一,简单而强大的事务管理功能,包括编程式事务和声明式事务。
1. Spring中涉及到事务管理的API有100多个,核心的只有三个: TransactionDefinition、PlatformTransactionManager、TransactionStatus。所谓事务管理,其实就是“按照给定的事务规则来执行提交或者回滚操作”。“给定的事务规则”就是用 TransactionDefinition 表示的,“按照……来执行提交或者回滚操作”便是用 PlatformTransactionManager 来表示,而 TransactionStatus 用于表示一个运行着的事务的状态。
2. TransactionDefinition, 该接口在前面已经介绍过,它用于定义一个事务。它包含了事务的静态属性,比如:事务传播行为、超时时间等等。Spring 为我们提供了一个默认的实现类:DefaultTransactionDefinition,该类适用于大多数情况。如果该类不能满足需求,可以通过实现 TransactionDefinition 接口来实现自己的事务定义。
3. PlatformTransactionManager 用于执行具体的事务操作。
Public interface PlatformTransactionManager{
TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException;
void commit(TransactionStatus status)throws TransactionException;
void rollback(TransactionStatus status)throws TransactionException;
}
根据底层所使用的不同的持久化 API 或框架,PlatformTransactionManager 的主要实现类大致如下:
- DataSourceTransactionManager :适用于使用JDBC和iBatis进行数据持久化操作的情况。
- HibernateTransactionManager :适用于使用Hibernate进行数据持久化操作的情况。
- JpaTransactionManager :适用于使用JPA进行数据持久化操作的情况。
- 另外还有JtaTransactionManager、JdoTransactionManager、JmsTransactionManager等等。
0 0
- 事务管理之Spring事务管理
- Spring事务管理
- spring事务管理
- Spring事务管理
- Spring事务管理
- Spring事务管理
- Spring事务管理
- Spring事务管理
- Spring 事务管理
- Spring事务管理
- spring 事务管理
- spring 事务管理
- spring 事务管理
- spring事务管理
- Spring 事务管理
- Spring事务管理
- spring事务管理
- spring 事务管理
- 主线程向副线程传值和EventBus的初步使用
- poj 1463Strategic game【树形dp】
- 产品经理面试相关经验和总结
- Eclipse快捷键大全
- 【CodeForces】A. Football
- Spring事务管理
- Java虚拟机的相关解释
- 单例模式的多种实现方式
- c# vs编程中x,y的坐标单位是什么
- 1.一个小白初次接触Android
- 单链表的逆置和中间结点的查找
- Linux磁盘学习小结
- Flume采集rsyslog日志并发送到elasticsearch上
- SGU 194 Reactor Cooling(无源汇有上下界最大流)