【Spring学习32】Spring事务(2):事务管理器
来源:互联网 发布:java香港空间 编辑:程序博客网 时间:2024/05/18 03:55
Spring只是个容器,因此它并不做任何事务的具体实现。他只是提供了事务管理的接口PlatformTransactionManager,具体内容由就由各个事务管理器来实现。
Spring提供了许多内置事务管理器实现:
- DataSourceTransactionManager:位于org.springframework.jdbc.datasource包中,数据源事务管理器,提供对单个javax.sql.DataSource事务管理,用于Spring JDBC抽象框架、iBATIS或MyBatis框架的事务管理;
- HibernateTransactionManager:位于org.springframework.orm.hibernate3包中,提供对单个org.hibernate.SessionFactory事务支持,用于集成Hibernate框架时的事务管理;该事务管理器只支持Hibernate3+版本,且Spring3.0+版本只支持Hibernate3.2+版本;
- JpaTransactionManager:位于org.springframework.orm.jpa包中,提供对单个javax.persistence.EntityManagerFactory事务支持,用于集成JPA实现框架时的事务管理;
- JtaTransactionManager:位于org.springframework.transaction.jta包中,提供对分布式事务管理的支持,并将事务管理委托给Java EE应用服务器事务管理器;
- JdoTransactionManager:位于org.springframework.orm.jdo包中,提供对单个javax.jdo.PersistenceManagerFactory事务管理,用于集成JDO框架时的事务管理;
- OC4JjtaTransactionManager:位于org.springframework.transaction.jta包中,Spring提供的对OC4J10.1.3+应用服务器事务管理器的适配器,此适配器用于对应用服务器提供的高级事务的支持;
- WebSphereUowTransactionManager:位于org.springframework.transaction.jta包中,Spring提供的对WebSphere 6.0+应用服务器事务管理器的适配器,此适配器用于对应用服务器提供的高级事务的支持;
- WebLogicJtaTransactionManager:位于org.springframework.transaction.jta包中,Spring提供的对WebLogic8.1+应用服务器事务管理器的适配器,此适配器用于对应用服务器提供的高级事务的支持。
常用的事务管理器配置:
1、JDBC事务
使用JDBC来进行持久化,DataSourceTransactionManager会为你处理事务边界。在 MyBatis 中也常用JDBC事务管理器。
<!-- 接口PlatformTransactionMnager实现 --><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /></bean><!-- 开启事务注解支持 --><tx:annotation-driven transaction-manager="txManager" />
2、Hibernate事务
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /></bean>
3、JPA事务(Java持久化API事务)
<bean id="transactionManager"class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory"ref="entityManagerFactory"/></bean><bean id="entityManagerFactory"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" > <property name="dataSource" ref="someDataSource"/></bean>
4、JTA事务(Java原生API事务)
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManagerName" value="java:/TransactionManager" /></bean>
0 0
- 【Spring学习32】Spring事务(2):事务管理器
- spring学习之事务管理器
- Spring事务管理器
- Spring事务管理器分类
- Spring事务管理器分类
- Spring事务管理器
- spring事务管理器
- Spring的事务管理器
- Spring的事务管理器
- spring事务管理器
- Spring的事务管理器
- spring事务管理器
- Spring的事务 之 9.2 事务管理器
- spring配置事务管理器,事务配置
- Spring的事务管理器简介
- Spring MVC事务管理器不起作用
- spring的事务管理器有几种
- Spring声明式事务管理器
- Spring与WebSocket
- Android客户端与服务器端交互数据之json解析
- 笔记
- 蓝桥杯 方格分割 第八届
- c指针遍历数组
- 【Spring学习32】Spring事务(2):事务管理器
- TensorFlow 上基于 Faster RCNN 的目标检测
- win764bit,下载了mysql 5.6.21默认安装在c盘,担心以后会占空间,需要改动吗?怎么改?
- java中File类中list()和listFiles()方法区别
- 【模拟】HDU 1008 Elevator【题解】
- 监听器与过滤器
- 如何面对自考的学习
- 认识AIDL
- spark学习过程中的小记