spring
事务管理器的配置
简单阐述:
例如
我的
S2SH_DXL
项目
在该项目中的
dhsfactory.xml
文件中添加事务管理的配置
代码如下:
需要引入
dhsfactory.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd ">
<!-- 第一种:基于XML的事务管理器
1、 Hibernate事务管理器
2、JDBC事务管理器
-->
1、Hibernate事务管理器
<!-- Hibernate事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" scope="singleton">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 第一步:定义事务通知(主要是针对指定的事务管理器对应的事务实现的配置事务参数) -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 各种属性,因情况而定使用
<tx:method name="" rollback-for="" no-rollback-for=""
timeout="-1" isolation="DEFAULT" propagation="REQUIRED" read-only="false" />
-->
<tx:method name="delete" />
<tx:method name="*" /> //*代表所有的方法
</tx:attributes>
</tx:advice>
<!-- 第二步:AOP配置 -->
<aop:config>
<!-- 声明事务切入点(配置哪些类的哪些方法参与事务) -->
<aop:pointcut id="AllServiceMethod"
expression="execution(* cn.dxl.service.*ServiceImpl.*(..))" />
<!-- 通知器(把事务通知绑定到切入点) -->
<aop:advisor pointcut-ref="AllServiceMethod" advice-ref="txAdvice" />
</aop:config>
2、JDBC事务管理器
<!-- JDBC事务管理器 (加载驱动时采用JDBC管理器)-->
<bean id="transactionManager1"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- DataSource事务管理器需要数据源实例 -->
<property name="sessionFactory" ref="sessionfactory"/>
</bean>
<!-- 第二种:基于注解的管理器-->
<!-- 启用对事务注解的支持 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
基于注解的事务管理器需要在服务层的实现类中加@Transactional注解
例如:
// Account业务逻辑类————基于注解方式的声明式事务管理配置
@Transactional //指定需要声明式事务,事务属性使用默认值
public class UserServiceImpl implements UserService{
private UserServiceDaoImpl userServiceDaoImpl;
public void setUserServiceDaoImpl(UserServiceDaoImpl userServiceDaoImpl){
this. userServiceDaoImpl = userServiceDaoImpl;
}
}
分享到:
相关推荐
Spring 3.0 事务管理配置 Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML ...
spring的事务管理配置详解.txt详细的描述了如何配置spring的事物。
在"spring声明式事务管理配置方式"中,主要涉及到以下几个关键知识点: 1. **Spring事务管理器(Transaction Manager)**: - Spring支持多种事务管理器,如DataSourceTransactionManager(用于JDBC事务)和...
如果未回滚,可能是因为事务管理配置有误,或者事务管理被错误地关闭了。 为了彻底解决问题,首先检查事务管理的配置文件,确认`<tx:annotation-driven>`元素已经正确配置,同时检查数据库连接池配置,确保事务管理...
在深入探讨Spring事务管理配置之前,我们先简要回顾一下Spring框架的核心概念。Spring是一个开源的Java平台,它提供了一套全面的编程和配置模型,旨在简化企业级应用的开发。其中,事务管理是Spring框架中的一个重要...
### 跨数据库的事务管理配置JTA:XML的详细配置 在现代软件开发过程中,特别是在企业级应用中,经常需要处理跨多个数据源的操作。为了确保数据的一致性和完整性,通常会采用分布式事务来实现这一目标。Java ...
Spring提供了多种事务管理配置方式,适合不同的应用场景。本篇将详细讲解Spring中的事务管理配置,帮助初学者理解并掌握这一重要概念。 1. 声明式事务管理 声明式事务管理是Spring中最常用的事务管理方式,它通过...
通过`transactional_learn`目录下的文件,你将能够逐步学习和实践以上所有内容,从配置Spring的事务管理到编写示例代码,最后运行并观察事务管理的效果。这将加深你对Spring事务管理的理解,帮助你在实际项目中更加...
在Spring框架中集成和配置Hibernate事务管理是企业级Java应用中的常见实践,它能提供高效且灵活的事务处理策略。Spring作为一款强大的依赖注入(DI)和面向切面编程(AOP)容器,能够轻松地管理和协调不同数据访问...
在Spring框架中,声明式事务管理是一种非常重要的特性,它允许开发者通过XML配置或注解来定义事务的边界,而无需在业务代码中显式地管理事务。这种方式极大地提高了代码的可读性和可维护性。本篇文章将深入探讨如何...
本文将详细介绍这三大框架在事务配置方面的知识,以及如何进行通用的事务管理设置。 1. **Spring 事务管理** Spring 提供了两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理通过 `...
1. 配置事务管理器:在Spring的XML配置文件中,根据数据库类型(如JDBC、Hibernate、MyBatis等)配置相应的事务管理器。 2. 开启事务:使用`@Transactional`注解标记需要在事务中执行的方法。 3. 业务逻辑:在事务中...
### Spring事务管理——声明式事务配置详解 #### 引言 在现代的Java企业级应用...掌握不同的声明式事务管理配置方式,可以帮助开发者根据具体的应用需求选择最合适的技术方案,从而提升应用程序的性能和可维护性。
1. **基于XML的声明式事务管理**: 在Spring的配置文件中,我们可以通过`<tx:advice>`、`<aop:config>`等元素定义事务的边界,指定哪些方法需要在事务中运行。 2. **基于注解的声明式事务管理**: 使用@Transactional...
以下是对Spring使用注解进行事务管理配置的详细说明: 1. **引入命名空间**: 在Spring配置文件中,首先需要引入`<tx>`命名空间,这允许你在配置中使用事务相关的注解。例如: ```xml xmlns:xsi=...
事务管理是数据库操作中的核心部分,确保数据的一致性和完整性。在这个项目中,我们不仅会探讨JDBC的事务管理,还会涉及到两种常见的数据库连接池——DBCP(Apache BasicDataSource)和C3P0,它们都是为了提高性能和...
你可以创建一个简单的 Spring 应用,配置事务管理器,并在业务层使用 @Transactional 注解或 TransactionTemplate 进行事务控制,以加深理解和应用。 总的来说,Spring 的事务管理机制提供了强大而灵活的支持,无论...
4. **SSM中使用AspectJ进行事务管理**:为了启用AspectJ事务管理,我们需要在Spring的配置文件中添加相应的配置,并引入`aspectjweaver.jar`。通常,我们会使用`<tx:annotation-driven>`标签来激活基于注解的事务...
企业日常事务管理系统是一款专为企事业单位设计的内部通信与任务管理平台,旨在提高工作效率,优化工作流程,确保信息的及时沟通和任务的有效执行。系统基于MySQL数据库,这是一款广泛使用的开源关系型数据库管理...
本项目是关于如何使用Spring MVC与Hibernate结合来实现事务管理的实践教程,通过MyEclipse自动生成所需的包和配置文件。这里将详细讲解这一过程,以及涉及到的关键知识点。 首先,Spring MVC作为Spring框架的一部分...