`

spring配置事物的方式:注解和aop配置

 
阅读更多
参考:
Spring AOP中pointcut expression表达式解析 及匹配多个条件 http://www.cnblogs.com/qinyubin/p/4075466.html
Spring事务配置多个切点,即多个execution http://blog.csdn.net/z_dendy/article/details/9447857




<tx:annotation-driven transaction-manager="springTransactionManager" proxy-target-class="true"/>


    <!-- 定义事务的管理者 -->
    <tx:advice id="txAdvice" transaction-manager="springTransactionManager">
        <!-- 定义使用事务的方法特征行为 -->
        <tx:attributes>
            <tx:method name="delete*" propagation="REQUIRED" read-only="false"
                       rollback-for="java.lang.RuntimeException"/>
            <tx:method name="insert*" propagation="REQUIRED" read-only="false"
                       rollback-for="java.lang.RuntimeException"/>
            <tx:method name="update*" propagation="REQUIRED" read-only="false"
                       rollback-for="java.lang.RuntimeException"/>

            <tx:method name="find*" propagation="SUPPORTS"/>
            <tx:method name="get*" propagation="SUPPORTS"/>
            <tx:method name="select*" propagation="SUPPORTS"/>
            <tx:method name="query*" propagation="SUPPORTS"/>

            <tx:method name="*" propagation="SUPPORTS"/>
        </tx:attributes>
    </tx:advice>

    <!-- 配置事务切入点 -->
    <aop:config>
        <!--把事务控制在Service层-->
        <aop:pointcut id="bussinessService"
                      expression="execution(public * com.pandy..atomikos.service..*Service*.*(..))"/>
        <!-- 指定bussinessService切入点应用txAdvice处理器,即该切入点的所有符合特征的方法均具备了事务性 -->
        <aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice"/>
    </aop:config>
    <!--
         *:匹配任何数量字符;
         ..:匹配任何数量字符的重复,如在类型模式中匹配任何数量子包;而在方法参数模式中匹配任何数量参数。
         +:匹配指定类型的子类型;仅能作为后缀放在类型模式后边。
    -->
分享到:
评论

相关推荐

    spring中事物配置

    你可以使用`&lt;aop:config&gt;`和`&lt;aop:advisor&gt;`元素来指定哪些类或方法需要事务管理: ```xml &lt;aop:config&gt; &lt;aop:pointcut id="businessServiceMethods" expression="execution(* com.example.service.*.*(..))"/&gt; ...

    spring配置事物的5种方式

    在Spring框架中,事务管理是...总结来说,Spring提供多种事务配置方式,可以根据项目需求和团队偏好选择合适的方式。理解这些配置方式的核心原理,能够帮助我们更好地管理和控制事务,从而提高应用的稳定性和可靠性。

    spring的5中事物配置 介绍spring的5中事物配置

    - 在XML配置文件中,可以使用`&lt;tx:advice&gt;`和`&lt;aop:config&gt;`或`&lt;aop:aspect&gt;`来定义事务通知和切点表达式,然后通过`&lt;aop:advisor&gt;`或`&lt;tx:attributes&gt;`来应用事务策略。这种方式更为灵活,但配置较为复杂。 4. **...

    spring事物管理配置的5种方式

    这种方式会自动为带有`@Transactional`注解的方法创建AspectJ代理,无需额外的`aop:config`。 综上所述,Spring提供了灵活多样的事务管理配置方式,可以根据项目需求选择适合的方案。理解并熟练运用这些配置,将有...

    Spring事物配置的五种模式

    此配置示例通过AOP的方式配置了事务管理,所有在`com.bluesky.spring`包下的方法都会应用上`REQUIRED`的事务传播行为。 #### 四、基于注解的声明式事务管理 这种方式是最常用的事务配置方式,通过在Java代码中使用...

    Spring声明式事务配置模板2.x

    Spring 2.x版本的声明式事务配置模板是开发者常用的一种方式,它通过AOP(面向切面编程)实现事务的自动管理,使得开发者无需在业务代码中显式调用事务开始、提交或回滚等操作。下面我们将详细探讨Spring 2.x的声明...

    AOP实现自我调用的事物嵌套问题

    Spring使用代理模式来实现AOP,根据配置(如@Transactional注解)为被代理对象创建一个代理对象。当调用被代理对象的方法时,实际上是调用了代理对象的方法,这样就能在方法执行前后插入事务控制代码。然而,如果一...

    spirn的事物配置详解与webservices案例

    1. Spring事物配置详解: 在Spring框架中,事务管理是核心功能之一,它允许开发者以声明式或编程式的方式来管理事务。声明式事务管理通过在XML配置文件或注解中定义事务边界,使得事务处理更加简洁。例如,可以使用...

    spring源代码解析

    5. **事务管理**:"spring源代码解析(六):spring声明式事物处理.doc"分析了Spring如何提供声明式事务管理,包括@Transactional注解的工作原理和事务传播行为。 6. **Spring与Hibernate集成**:"spring源代码解析...

    在SSH中使用事物包括SSH的搭建和配置;事物的配置;注释详细

    2. **Spring**:是整个SSH架构的核心,提供IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)功能,包括事务管理。Spring通过编程式和声明式两种方式来管理事务。 3. **Hibernate**:是一个ORM...

    spring-tx事物源码

    Spring的事务管理机制包括编程式事务管理和声明式事务管理,这两种方式都基于`spring-tx`模块。在这个源码中,我们可以深入理解Spring如何处理事务的生命周期、回滚规则以及与各种数据源的集成。 首先,`spring-tx`...

    idea 14 ssm 全注解框架+log4j+事物控制+mybatis基础Dao配置

    在Idea 14这个集成开发环境中,我们可以利用SSM的全注解方式来简化配置,提高开发效率。下面将详细阐述SSM框架、Log4j日志管理、事务控制以及MyBatis的基础Dao配置。 首先,Spring框架作为核心,负责依赖注入...

    spring事物管理

    基于XML的配置在大型项目中可能变得复杂,而注解则简化了配置,更易于理解和维护。AOP切面提供了更灵活的控制,但可能对性能有一定影响。Java配置类结合了XML的灵活性和注解的简洁性。选择哪种方式取决于项目的具体...

    Spring中的@Transactional事物回滚实例源码

    在Spring中,可以通过以下几种方式配置事务管理: 1. **XML配置**:在Spring的配置文件中,使用`&lt;tx:annotation-driven&gt;`元素启用基于注解的事务管理。 2. **Java配置**:在@Configuration类中,使用@...

    spring事物的五种配制方法

    使用`&lt;tx:advice&gt;`和`&lt;aop:config&gt;`等标签。 - **特点**:配置更加直观,易于理解。 - **适用场景**:适合对事务有特殊需求的应用程序,例如需要在运行时动态调整事务配置。 3. **第四种方法:编程式事务管理**:...

    spring.net 声明式事物管理小示例

    Spring.NET 是一个基于 .NET Framework 的轻量...通过这个小示例,你将学习如何在 Spring.NET 中设置声明式事务管理,以及如何通过配置和注解控制事务的行为。这有助于创建更稳定、可扩展和易于维护的 .NET 应用程序。

    spring 事务(6中配置完全降解)

    Spring 事务管理也可以与AOP结合,通过`aop:config`标签定义切点和通知,来实现事务的声明式管理。这种方式更加灵活,可以实现更细粒度的事务控制。 在实际开发中,根据项目需求和团队习惯,可以选择适合的事务...

    第十四章 Spring4 切面事物与事物通知与传播行为

    Spring4提供了两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理需要在代码中显式地管理事务开始、提交和回滚,而声明式事务管理则通过在配置或注解中声明事务规则,更加灵活且易于维护。例如,...

Global site tag (gtag.js) - Google Analytics