`
LegendBeen
  • 浏览: 8803 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring3 配置Hibernate事物管理

 
阅读更多

1、直接代码如下:

<?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:p="http://www.springframework.org/schema/p"
	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-3.0.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

	此处省略N个字。。。。。
<!-- 事务处理器 -->
	<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
		
	<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="get*" read-only="true"></tx:method>
			<tx:method name="find*" read-only="true"></tx:method>
			<tx:method name="login" read-only="true"></tx:method>
			<tx:method name="save*" rollback-for="Exception"></tx:method>
			<tx:method name="edit*" rollback-for="Exception"></tx:method>
			<tx:method name="del*" rollback-for="Exception"></tx:method>
		</tx:attributes>
	</tx:advice>
	<aop:config>
		<aop:pointcut expression="execution(* edu.wanghuan.hrm.services.impl.*.*(..))" id="serviceMethod"/>
		<aop:advisor advice-ref="transactionAdvice" pointcut-ref="serviceMethod"/>
	</aop:config>
</beans>

 2、解释

 

       要点一:execution(* com.hisun.mvc.service..*.*(..))"中几个通配符的含义:
第一个 * —— 通配 任意返回值类型
第二个 * —— 通配 包com.hisun.mvc.service下的任意class
第三个 * —— 通配 包com.hisun.mvc.service下的任意class的任意方法
第四个 .. —— 通配 方法可以有0个或多个参数
综上:包com.hisun.mvc.service下的任意class的具有任意返回值类型、任意数目参数和任意名称的方法。

 

        要点二:<tx:advice/> 有关的设置

这一节里将描述通过 <tx:advice/> 标签来指定不同的事务性设置。默认的 <tx:advice/> 设置如下:

  • 事务传播设置是 REQUIRED

  • 隔离级别是 DEFAULT

  • 事务是 读/写

  • 事务超时默认是依赖于事务系统的,或者事务超时没有被支持。

  • 任何 RuntimeException 将触发事务回滚,但是任何 checked Exception 将不触发事务回滚这些默认的设置当然也是可以被改变的。

       要点三:<tx:advice/><tx:attributes/> 标签里的 <tx:method/> 各种属性设置总结

属性 是否需要 默认值 描述
name  

与事务属性关联的方法名。

通配符(*)可以用来指定一批关联到相同的事务属性的方法。 如:'get*''handle*''on*Event'等等。

propagation REQUIRED 事务传播行为
isolation DEFAULT 事务隔离级别
timeout -1 事务超时的时间(以秒为单位)
read-only false 事务是否只读?
rollback-for   将被触发进行回滚的 Exception(s);以逗号分开。 如:'com.foo.MyBusinessException,ServletException'
no-rollback-for   被触发进行回滚的 Exception(s);以逗号分开。 如:'com.foo.MyBusinessException
分享到:
评论

相关推荐

    spring mvc+hibernate实现事务管理(配置文件版)

    本项目是关于如何使用Spring MVC与Hibernate结合来实现事务管理的实践教程,通过MyEclipse自动生成所需的包和配置文件。这里将详细讲解这一过程,以及涉及到的关键知识点。 首先,Spring MVC作为Spring框架的一部分...

    在Spring中配置Hibernate事务

    在Spring框架中集成和配置Hibernate事务管理是企业级Java应用中的常见实践,它能提供高效且灵活的事务处理策略。Spring作为一款强大的依赖注入(DI)和面向切面编程(AOP)容器,能够轻松地管理和协调不同数据访问...

    spring3,hibernate4 配置声明式事务管理(annotation方式)

    最后,我们可以在测试类中使用`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解来加载Spring配置,并进行事务相关的测试。 总的来说,Spring 3和Hibernate 4结合使用声明式事务管理,使得...

    spring3、 hibernate4 配置声明式事务管理(annotation方式)

    `HibernateTransactionManager`是Spring提供的专门用于管理Hibernate事务的类,它会自动处理Hibernate Session和JDBC Connection的开启、提交、回滚。 三、配置Spring事务管理 在Spring的配置文件中,我们需要添加...

    spring hibernate 事务管理学习笔记(一)

    在Spring配置文件中,我们需要开启事务管理器,并在需要事务控制的Service层方法上添加`@Transactional`注解。这个注解允许我们指定事务的传播行为(如REQUIRED、REQUIRES_NEW等)、隔离级别(如READ_COMMITTED、...

    spring4配置hibernate3

    4. **配置DataSource**:同样在Spring配置文件中,定义一个DataSource Bean,这通常是连接池的实现,如Apache DBCP或C3P0,用于管理数据库连接。 5. **配置Hibernate SessionFactory Bean**:使用`...

    spring3+hibernate4配置声明式事务管理(annotation方式)

    8. **整合步骤**:创建Spring配置,配置数据源、SessionFactory、事务管理器;在Hibernate实体类上添加`@Entity`等注解;在DAO或Service层方法上添加`@Transactional`注解;最后,启动Spring容器并运行应用,事务...

    Spring Hibernate事务实例

    2. Hibernate事务管理:使用`HibernateTransactionManager`结合SessionFactory进行事务控制。 3. AOP(面向切面编程)在事务管理中的应用:`TransactionInterceptor`基于AOP拦截方法调用,处理事务。 4. 配置事务...

    spring hibernate 事务管理学习笔记(二)

    在本篇“Spring Hibernate 事务管理学习笔记(二)”中,我们将深入探讨Spring框架与Hibernate集成时如何实现高效、安全的事务管理。这是一篇关于源码分析和技术工具使用的文章,适合对Java开发和数据库操作有基础...

    spring mvc+hibernate 实现事务管理(全注解版)

    2. **Hibernate事务**: Hibernate本身也提供了一种事务管理机制,但在Spring环境中,我们通常使用Spring的事务管理器来协调。当@Transactional注解应用于方法上,Spring会在该方法执行前后自动管理事务的开始和结束...

    spring整合hibernate实现事务处理

    要启用注解事务管理,需要在Spring配置文件中添加`&lt;tx:annotation-driven/&gt;`元素,并配置数据源和事务管理器,如`PlatformTransactionManager`。 2. **Spring整合Hibernate实现事务处理 - XML方式** 对于不熟悉...

    Spring Hibernate 事务处理 详细说明

    3. **Hibernate事务配置:**在Spring中,需要配置Hibernate SessionFactory,并将其注入到需要进行数据库操作的服务中。同时,通过`PlatformTransactionManager`接口(如HibernateTransactionManager)配置事务管理...

    声明式事务控制spring+hibernate集成

    在"声明式事务控制,spring2.5+hibernate3集成源码"中,开发者可以学习如何配置Spring的事务管理器,以及如何在Hibernate的SessionFactory和SessionFactoryBuilder上使用Spring的TransactionProxyFactoryBean来创建...

    spring3 hibernate3 整合

    整合Spring3和Hibernate3,主要是为了利用Spring的事务管理和数据访问抽象层来简化Hibernate的使用。以下是整合过程中的一些关键知识点: 1. **配置Spring的Hibernate支持**:在Spring的配置文件中,我们需要定义...

    Spring+Hibernate注解事务实例

    - 首先,我们需要在Spring配置文件中启用事务管理器,通常是`HibernateTransactionManager`,并配置数据源。 - 然后,启用AOP代理,以便Spring可以在适当的时候处理事务。 2. **配置Hibernate**: - 创建...

    Spring AOP管理Hibernate事务(TransactionInSpringAOP)

    通过阅读博文"TransactionInSpringAOP",开发者可以获得关于如何配置Spring AOP以管理Hibernate事务的具体步骤,以及可能遇到的问题和解决方案。这包括但不限于XML配置、Java配置、注解配置等不同方式,并且可能涵盖...

    struts2.1+spring2.5+hibernate3.3整合之第一步(spring2.5+hibernate3.3)

    3. 配置Hibernate:在Spring配置文件中,配置Hibernate的SessionFactory,并设置数据库连接信息。同时,需要编写实体类和对应的映射文件(`.hbm.xml`),以便Hibernate能够自动管理数据库表。 4. 配置Struts2:创建...

    [轻量级Java_EE企业应用实战_Struts2_Spring3_Hibernate整合开发

    3. **事务管理**:Spring提供全局事务管理,确保业务操作的原子性和一致性。 4. **方便测试**:通过Spring的依赖注入,便于进行单元测试和集成测试。 在实际项目中,开发者通常会结合IDE(如Eclipse或IntelliJ IDEA...

    spring配置hibernate事务

    在Spring框架中配置Hibernate事务管理是一项关键任务,它允许开发者以声明式的方式处理数据库操作的事务性,确保数据的一致性和完整性。以下是如何在Spring中配置Hibernate事务的详细步骤和概念解释。 首先,理解...

    SpringAOP整合Hibernate并使用事务(模拟买书的过程)

    3. 配置事务管理器:在Spring配置文件中,定义一个PlatformTransactionManager类型的bean,通常是HibernateTransactionManager,它将与SessionFactory配合处理事务。 4. 使用AOP声明事务:在DAO方法上使用`@...

Global site tag (gtag.js) - Google Analytics