Spring事务管理器分类 作者原文
事务管理器的实例
|
目标
|
Org.springframwork.jdbc.datasource.DataSourceTransactionManager
|
用JDBC的 DataSource 去管理事务
|
Org.springframwork.orm.hibernate.HibernateTransactionManager
|
当持久机制是Hibernate时的事务管理器
|
Org.springframework.orm.jdoTransactionManager
|
当持久机制是JDO时的事务管理器
|
Org.springframework.transaction.jta.JtaTransactionManager
|
用JTA管理事务
|
Org.springframwork.orm.ojb.PersistenceBrokerTransactionManager
|
当持久机制是apache的OJB时的事务管理器
|
1 JDBC事务
如果你直接使用JDBC作为持久方案,DataSourceTransactionManager将会为你管理事务的边界。为了能使用DataSourceTransactionManager,我们把下面的XML加到上下文的定义中:
<bean id="transactionManager" class="org.springframework.jdbc.Datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean>
注意:dataSource的属性设置引用一个叫dataSource的BEAN,dataSource可能是一个javax.sql.DataSource bean,它在上下文中已经定义好了。
2 Hibernate事务
如果你使用Hibernate作为持久层,你将会使用HibernateTransactionManager,请在应用的上下文申明如下:
<bean id="transactionManaager" class="org.springframework.Orm.hibernate.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean>
sessionFacoty 的属性和Hibernate的SessionFactory组合在一块儿。HibernateTransactionManager委托事务管理给一个 net.sf.hibernate.Transactioin事例,它从Hibernate的会话中获得。当一个事务成功结束时, HibernateTransactionManager会调用Transaction的commit()方法。相似的,一个失败的事务将会调用 rollback()去回滚。
3 JDO事务
可能你不喜欢JDBC 和Hibernate,你可以选择JDO去实现你的持久层。如果是这样的话,你可以用JdoTransctionManager,你可以在你的上下文中如下申明:
<bean id="transactionManager" Class="org.springframework.orm.jdo.JdoTransactioinManager:> <property name="persistenceManagerFactory"> <ref bean="persistenceManagerFactory"/> </property> </bean>
为了使用JdoTransctionManager,你需要组合一个具有persistenceManagerFactory 属性的javax.jdo.PersistenceManagerFactory。
其实,JdoTransactionManager和事务对象一起工作,它是从JDO的持久管理器中获得。一个成功的事务会调用commit()方法,而一个失败的事务会调用rollback()方法。
4 JTA事务:
如果你上面所有的事务管理器都不符合你的需要,,或者你的应用是多资源交错的事务,那么.你可以使用JTA的事务管理器
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
JtaTransactionManager 委托事务管理给JTA的实现.JTA定义了一系列的标准接口;能协调事务,应用和一个或多个数据源. 在这之中, transactioinManageName属性指向JTA事务管理器. 这个事务管理器能在JNDI中找到. JtaTransactionManager, javax.transaction.UserTransaction和javax.transaction.TransactionManager对象在一起工作. 所有的事务管理委托给它们完成. 一个成功的事务将会被提交,通过调用UserTransaction.commit()方法,相反,一个失败的事务会调用UserTransaction 的rollback()方法.
具体各事务管理器的使用配置方式,还需查看相关的资料
相关推荐
在讨论了代理模式、异常分类、方法权限后,文章还提到了Spring事务管理中事务的传播机制和隔离机制。事务的传播机制定义了事务的行为,例如是否在当前事务中执行或者创建一个新的事务。隔离机制定义了事务之间的隔离...
Spring事务管理是Spring框架中的重要组成部分,用于在多方法调用之间保持数据一致性,确保数据库操作的原子性、一致性、隔离性和持久性。事务管理在Java应用,尤其是企业级应用中至关重要,因为它们通常涉及复杂的...
2. **Spring事务管理**:Spring提供了两种事务管理方式,即声明式事务管理和编程式事务管理。声明式事务基于AOP(面向切面编程),通过在配置文件或注解中声明事务规则,而编程式事务则是通过编程的方式来控制事务的...
此外,Spring还提供事务管理,确保数据操作的一致性。 Struts是Java Web应用的一个MVC框架,负责处理HTTP请求并将其转发给相应的业务逻辑。在这个图书管理系统中,Struts定义了控制器,接收用户请求,调用模型中的...
《个人日常事务管理系统(Java版)详解》 个人日常事务管理系统是现代生活中不可或缺的一部分,它帮助我们有效地组织和管理日常的琐碎事务,确保生活、工作有序进行。本系统采用Java编程语言开发,具备高度的安全性...
同时,Spring的事务管理功能确保了数据操作的一致性和完整性。 **Hibernate** 是一个流行的Java ORM(对象关系映射)框架,它简化了数据库操作,将Java对象和数据库记录关联起来。在新闻管理系统中,Hibernate用于...
5. **事务管理**:Spring的Transaction Management确保了数据操作的原子性和一致性,如在多条数据库操作之间保持事务。 6. **国际化与本地化**:Struts1支持多语言,可以根据用户选择显示不同的语言版本。 7. **错误...
3. **Spring框架**:Spring是一个全面的企业级应用开发框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。在档案信息管理系统中,Spring用于管理对象的生命周期和它们之间的依赖关系,同时提供事务...
**知识点1:Spring事务管理的分类** - **编程式事务管理**: 通过代码显式控制事务的开始、提交或回滚。 - **声明式事务管理**: 通过配置文件或注解的方式进行事务管理,减少代码量且易于维护。 **知识点2:事务管理...
Spring框架是Java开发中不可或缺的一部分,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问等。在这个压缩包中,包含了Spring框架的核心组件以及与之相关的支持库,使得开发者能够快速...
- **事务管理**:Spring管理事务时使用AOP机制,在方法执行前后自动开启和提交事务。 - **权限校验**:使用Spring Security时,其实现了基于AOP的思想。 - **日志记录**:在方法调用前后记录日志信息。 - **性能...
【个人事务管理系统】是一种专为个人用户设计的高效时间与任务管理工具,旨在帮助用户更好地组织日常生活中的各项事务,提高工作效率。系统通常包括任务创建、任务分类、日程安排、提醒服务、进度追踪以及统计分析等...
AOP是Spring框架的另一个重要特性,它允许开发者将关注点分离,例如日志记录、事务管理等,这些通用功能可以被定义为“切面”,并独立于业务逻辑进行处理。在运行时,Spring会自动将这些切面织入到目标对象中,减少...
1. Spring事务管理的分类 Spring事务管理可以分为两种情况:编程式事务和声明式事务。其中,声明式事务又包括基于注解@Transactional和tx+aop的方式。 2. 编程式事务管理 编程式事务管理使用TransactionTemplate...
在本项目中,Spring作为容器管理了所有bean的生命周期,包括Spring MVC的控制器、Mybatis的SqlSessionFactory等,同时提供了事务管理功能。 **4. 数据库设计** 博客系统的数据库通常会包含用户表、博客文章表、评论...
同时,Spring还提供了事务管理、安全控制等功能,确保系统运行的稳定性和安全性。 在实现图书管理系统时,通常会包含以下关键模块: 1. 用户模块:负责用户注册、登录、权限管理等。 2. 图书信息管理:包括图书的增...
同时,Spring的事务管理功能能够确保在多步骤操作中数据的一致性,避免因异常导致的数据不一致问题。 总的来说,这个档案信息管理系统充分利用了Spring MVC、Hibernate和Spring的强大功能,实现了对档案信息的高效...
【Spring】框架是SSH中的核心,它不仅提供了依赖注入(DI)和面向切面编程(AOP)的能力,还整合了其他多种功能,如事务管理、数据库连接池、缓存等。Spring的IoC容器管理着应用的组件,使得对象之间的依赖关系可以...
3. **Spring框架**:Spring是一个全面的企业级应用开发框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。在图书管理系统中,Spring作为整个应用的“胶水”,整合了Struts和Hibernate,同时管理...
Spring的AOP支持使得我们可以方便地进行切面编程,实现如日志、事务管理等功能。 2. **MyBatis框架**:MyBatis负责数据库交互,通过XML或注解的方式定义SQL语句,将ORM(Object-Relational Mapping,对象关系映射)...