`
chorpin
  • 浏览: 132205 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring事务处理的两种方式

    博客分类:
  • SSH
阅读更多
spring事务管理:
可以通过两种方式实现,一是用AOP来控制事务:
<!-- 配置事务管理器 -->       
        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
                <property name="sessionFactory">
                        <ref local="sessionFactory"/>
                </property>
        </bean>
   
    <!-- 配置事务特性 -->      
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                    <tx:method name="*" propagation="REQUIRED"/>
                    <!-- 
                    <tx:method name="add*" propagation="REQUIRED"/>
                    <tx:method name="del*" propagation="REQUIRED"/>
                    <tx:method name="update*" propagation="REQUIRED"/>
                    <tx:method name="deploy*" propagation="REQUIRED"/>
                    <tx:method name="submit*" propagation="REQUIRED"/>
                    <tx:method name="*" read-only="true"/>
                    -->
            </tx:attributes>
    </tx:advice>
   
    <!-- 配置哪些类的方法进行事务管理 -->
    <aop:config>
            <aop:pointcut id="allManagerMethod" expression="execution (* com.bjsxt.oa.managers.*.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>
    </aop:config> 



二是用事务拦截器的方式来控制事务:
<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
    <bean id="myTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="mySessionFactory" />
        </property>
    </bean>
    <!-- 配置事务管理 -->
    <bean id="userService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager">
            <ref local="myTransactionManager" />
        </property>
        <property name="target">
            <ref local="loginTarget" />
        </property>
        <property name="transactionAttributes">
            <props>
                <prop key="save*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>

    <!-- OrderTarget primary business object implementation -->
    <bean id="loginTarget" class="com.test.spring.UserServiceImpl">
        <property name="userDAOIF">
            <ref local="userDAO" />
        </property>
    </bean>

    <!-- DAO object: Hibernate implementation -->
    <bean id="userDAO" class="com.test.hibernate.UserDAOImpl">
        <property name="sessionFactory">
            <ref local="mySessionFactory" />
        </property>
    </bean>
3
2
分享到:
评论

相关推荐

    Spring事务管理4种方式

    本文将详细介绍Spring事务管理的四种方式:编程式事务管理、声明式事务管理、PlatformTransactionManager接口以及TransactionTemplate。 1. **编程式事务管理**:这是一种手动控制事务的方式,通过在代码中调用`...

    spring3.0两种事务管理配置

    Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML 的事务管理 这种方法不需要...

    Spring事务原理、Spring事务配置的五种方式

    Spring事务原理是指Spring框架中的一种机制,用于管理事务,并提供了多种配置方式。事务是指一系列的操作,作为一个整体执行,如果其中某个操作失败,整个事务将回滚。Spring事务原理围绕着两个核心:...

    spring事务配置的五种方式

    Spring框架提供了强大的事务管理功能,支持编程式和声明式两种事务处理方式。其中,声明式事务因其简单易用而被广泛采用。本文将详细介绍Spring中事务配置的五种方式,帮助开发者更好地理解和运用这些配置方法。 ##...

    aop与spring事务处理

    ### AOP与Spring事务处理详解 ...AOP 能够有效地将横切关注点从业务逻辑中分离出来,而Spring事务管理则为开发者提供了简单、灵活的方式来管理事务。这两种技术相结合,能够显著提高软件的质量和开发效率。

    Spring事务处理-ThreadLocal的使用

    Spring提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。声明式事务管理是通过注解或XML配置来控制事务边界,而编程式事务管理则是在代码中显式调用`TransactionTemplate`或`...

    Spring事务管理Demo

    首先,Spring提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。 1. **编程式事务管理**:通过使用`PlatformTransactionManager`接口及其实现类(如`JdbcTemplate`或`HibernateTemplate`),开发者...

    Spring事务管理的三种方式

    本篇文章将详细探讨Spring中的三种事务管理方式:编程式事务管理、声明式事务管理和基于注解的事务管理。 首先,编程式事务管理是通过编码来控制事务的开始、提交、回滚等操作。Spring提供了...

    spring 事务处理

    Spring 提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。本篇将深入探讨Spring声明式事务处理,这是更常用且更易于维护的方法。 在Spring框架中,声明式事务处理依赖于AOP(面向切面编程)来实现。...

    Spring事务流程图

    在Spring中,事务管理分为编程式和声明式两种方式。本篇文章将详细解释Spring事务管理的流程,以及如何通过时序图来理解这一过程。 首先,我们来看Spring事务的流程。当一个事务开始时,通常会经历以下步骤: 1. *...

    spring事务与数据库操作

    ### Spring事务与数据库操作 #### 一、Spring的声明式事务管理 在现代软件开发中,事务处理是非常关键的一部分,特别是在涉及多个数据操作时。Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。...

    spring事务管理5种方法

    具体分为两种: - XML配置:在Spring的配置文件中,可以使用`&lt;tx:advice&gt;`定义事务处理规则,然后通过`&lt;aop:config&gt;`或`&lt;aop:aspect&gt;`进行切面配置,将事务处理与业务代码关联。 - 注解驱动:Spring 2.5以后,...

    Spring声明式事务处理

    在Spring中,事务管理分为编程式和声明式两种方式,而声明式事务处理则是通过配置来控制事务的行为,使得代码与事务逻辑解耦,提高了代码的可读性和可维护性。 首先,我们要理解什么是事务。事务是数据库操作的一组...

    Spring事务处理原理步骤详解

    在Spring中,事务处理的实现主要通过两种方式:声明式事务和编程式事务。声明式事务是通过在方法上添加@Transactional注解来实现事务处理的,而编程式事务则是通过编写代码来实现事务处理的。 在声明式事务中,需要...

    Spring2.0 事务处理

    在Spring框架中,事务管理分为编程式事务管理和声明式事务管理两种方式。 1. **编程式事务管理**:这种管理方式要求开发者手动编写代码来开启、提交、回滚事务。虽然具有更高的灵活性,但可能导致代码的复杂性增加...

    spring事务,xml方式和注解方式

    总结一下,Spring事务管理提供了XML配置和注解两种方式,使得开发者能够灵活地控制事务的边界和行为。XML方式适合于传统应用,而注解方式则更加简洁,易于理解和维护。无论选择哪种方式,Spring事务管理都能帮助我们...

    spring事务几种传播方式

    ### Spring事务传播方式详解 #### 一、引言 在基于Spring框架开发的应用程序中,事务管理是一项重要的功能。为了确保数据的一致性和完整性,合理地配置事务的传播行为至关重要。Spring提供了多种事务传播行为选项...

    Spring事务管理开发必备jar包

    2. **Spring事务管理**:Spring提供了两种事务管理方式,即编程式事务管理和声明式事务管理。编程式事务管理通过TransactionTemplate或直接调用PlatformTransactionManager接口的方法来管理事务,而声明式事务管理则...

    spring-tx事务管理实例

    首先,Spring事务管理分为编程式事务管理和声明式事务管理两种方式。编程式事务管理是通过调用TransactionTemplate或直接使用PlatformTransactionManager接口来控制事务的开始、提交和回滚。这种方式灵活,但侵入性...

    Spring事务配置5种方式

    3. 代理机制:Spring提供了两种代理方式,JDK动态代理和CGLIB动态代理。当被代理的目标类实现了接口时,Spring会选择JDK动态代理;如果没有实现接口,则使用CGLIB生成子类进行代理。在这个配置中,`...

Global site tag (gtag.js) - Google Analytics