一. 知识储备
1.1 声明式事务管理
大多数情况下声明式事务比编程式事务管理更好,它将事务管理代码从业务方法中抽离出来,以声明方式实现事务管理。
事务管理代码的固定模式作为一种横切关注点,可以通过AOP方法模块化,进而借助Spring AOP框架实现声明式事务。
Spring既支持编程式事务管理,也支持声明式事务管理。
1.2 Spring提供的事务管理器
Spring的核心事务管理抽象式PlatformTransactionManager。它为事务管理封装了一组独立于技术的方法。无论是使用声明式还是编程式事务管理,事务管理器都是必须的。
事务管理器可以以普通的bean形式声明在Spring IOC容器中。
1.3 事务管理器的主要实现
实现 | 解释 |
---|---|
DataSourceTransactionManager | 在应用程序中只需处理一个数据源,而且通过JDBC存取 |
JtaTransactionManager | 在JavaEE应用服务器上用JTA(Java Transaction API)进行事务管理 |
HibernateTransactionManager | 用Hibernate框架存取数据库 |