`

spirng 事务处理 aop

 
阅读更多

<?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"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
     http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/tx
     http://www.springframework.org/schema/tx/spring-tx-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/context
     http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    
    <tx:annotation-driven transaction-manager="transactionManager" />
   
    <bean
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:config/points.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true" />
    </bean>

    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*" propagation="REQUIRED" />
            <tx:method name="*RnTx" propagation="REQUIRES_NEW"
                rollback-for="FroadSQLException" />
                    <!-- 转赠积分事务处理 -->
            <tx:method name="doDonationApp" propagation="REQUIRED" rollback-for="FroadSQLException"/>
            <tx:method name="saveSplitTransPointsInfo" propagation="REQUIRES_NEW" />
            <tx:method name="saveDonationPotionsAuditNoId" propagation="REQUIRES_NEW" />
            <tx:method name="doDonationConfirm" propagation="REQUIRED" rollback-for="FroadSQLException"/>
            <!-- 提现申请 -->
            <tx:method name="doCashPointsApplication" propagation="REQUIRES_NEW"/>
            <tx:method name="refundCashApp" propagation="REQUIRES_NEW"/>
         
        </tx:attributes>
    </tx:advice>

    <!-- 积分账户操作 start -->
    <aop:config>
        <aop:pointcut id="userPointAccountServicePc"
            expression="execution(* com.froad.points.service2.impl.UserPointAccountServiceImpl.*.*(..))" />
       
        <aop:advisor advice-ref="txAdvice" pointcut-ref="userPointAccountServicePc" />
    </aop:config>
    <aop:config>
        <aop:pointcut id="userComplexServicePc"
            expression="execution(* com.froad.points.service2.impl.UserComplexServiceImpl.*.*(..))" />
       
        <aop:advisor advice-ref="txAdvice" pointcut-ref="userComplexServicePc" />
    </aop:config>
   
   
   
</beans>

分享到:
评论

相关推荐

    aop与spring事务处理

    ### AOP与Spring事务处理详解 #### 一、引言:为什么使用框架和设计模式? 在软件开发领域,设计模式和框架是两个重要的概念。设计模式作为一种指导思想,能够帮助开发者更好地解决常见的软件设计问题,确保系统...

    spring-boot aop

    在Spring框架中,AOP主要用于日志记录、事务管理、性能统计等场景。本示例是关于如何在Spring Boot项目中实现AOP功能的一个简单演示。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了跨越...

    Spring AOP配置事务方法

    Spring AOP 配置事务方法 Spring AOP(Aspect-Oriented Programming,面向方面编程)是一种编程范式,它允许开发者在不修改源代码的情况下,增强和修改应用程序的行为。 Spring AOP 提供了一种灵活的方式来实现事务...

    Java框架技术 Spring 学习案例 Spring AOP案例和Spring事务处理案例

    本教程主要聚焦于Spring框架的两大核心特性:Spring AOP(面向切面编程)和Spring事务处理,通过具体的应用案例来深入理解这两个概念。 首先,让我们详细探讨Spring AOP。AOP是面向切面编程的缩写,它允许程序员...

    spring基于AOP实现事务

    对于Spring事务管理,我们通常有两种方式:编程式和声明式。编程式事务管理需要在代码中显式地调用begin、commit、rollback等事务控制方法,而声明式事务管理则是在配置文件或注解中声明事务规则,更加简洁且易于...

    spring-aop-jar

    Spring AOP模块提供了实现AOP规范的功能,它允许开发者定义“切面”来封装系统中的横切关注点,如日志、事务管理等。该jar文件包含了Spring AOP的核心类和接口,如`org.springframework.aop.*`包下的`...

    java springAOP 事务+注释

    2. **Spring事务管理** 在Spring中,事务管理分为编程式和声明式两种。编程式事务管理需要在代码中显式地调用开始、提交、回滚等事务操作,而声明式事务管理则更简洁,通过配置或者注解即可实现,降低了代码的耦合...

    spring ioc和aop原理流程图(详细)

    **面向切面编程(AOP)** 是Spring的另一个重要特性,它允许开发者将关注点(如日志、事务管理)与核心业务逻辑分离,实现代码的模块化。以下是Spring AOP的关键知识点: 1. **切面**:AOP中的切面是包含横切关注点...

    Spring 2.5 AOP 例子

    Spring AOP提供了一种模块化和声明式的方式来实现横切关注点,如日志记录、事务管理、性能监控等。它通过切面(Aspect)将这些关注点与业务逻辑分离,降低了系统的耦合度。 二、类扫描功能 在Spring 2.5中,引入了...

    spring2-aop.pdf

    - **AOP 与 OOP 的关系**:AOP 作为 OOP 的补充,可以更好地处理那些分布式的横切关注点,使应用程序更加清晰、易于维护。 - **AOP 联盟简介**:这是一个组织,致力于制定 AOP 规范和标准,促进 AOP 技术的发展。 ...

    spring aop spring aop

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,用于实现横切关注点的模块化。它允许开发者定义“切面”,将那些与业务逻辑无关,却为多个对象共有的行为(如日志、...

    spring-aop.rar_aop1270_spring_spring aop

    Spring AOP,即Spring的面向切面编程,是Spring框架的重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强或统一处理的方法。本文将围绕Spring AOP的源码分析,探讨其核心概念、工作原理以及在...

    spring aop jar 包

    Spring AOP(Aspect Oriented Programming,面向切面...总的来说,Spring AOP通过提供面向切面的编程能力,极大地提高了代码的可复用性和可维护性,降低了系统复杂度,特别是在处理共性问题如日志、事务、安全等方面。

    Spring ax/aop声明式事务配置实例

    在Spring框架中,AOP(面向切面编程)和声明式事务管理是两个核心特性,它们极大地简化了Java企业级应用中的事务处理。本实例将深入探讨如何在Spring中使用AOP来实现声明式事务配置。 一、Spring AOP基础 AOP允许...

    org.springframework.aop

    在Spring框架中,AOP(Aspect Oriented Programming,面向切面编程)是其核心特性之一,它允许开发者将关注点从主业务逻辑中分离出来,如日志、事务管理等,形成独立的切面,实现代码的解耦和模块化。本篇将深入探讨...

    springIOC与AOP配置

    AOP允许开发者定义“横切关注点”,即跨越多个对象的业务规则,如日志、事务管理等。Spring AOP通过代理模式实现,可以在不修改原有代码的情况下增强功能。 **AOP配置** Spring支持基于XML和注解的AOP配置。在XML...

    Hibernate编程式事务与Spring Aop的声明式事务(spring与hibernate集成)

    本篇文章将重点讨论如何在Spring框架中集成Hibernate,并探讨编程式事务管理和Spring AOP的声明式事务。 首先,让我们理解Spring与Hibernate的集成。为了整合这两个库,你需要在Spring配置文件中定义Hibernate的...

    springAop与spring定时器

    Spring AOP(面向切面编程)是Spring框架中的一个重要组件,它允许我们在不修改源代码的情况下,通过在程序运行时动态地将代码插入到方法调用中,来实现跨切面的关注点,如日志记录、性能监控、事务管理等。而Spring...

    Spring基础:AOP编程(4)

    在处理事务管理时,Spring AOP提供了`@Transactional`注解,可以很方便地实现事务的声明式管理。只需在需要进行事务控制的方法上添加此注解,Spring就会自动进行事务的开启、提交、回滚等操作。 总结来说,Spring的...

    使用Spring的声明式事务----AOP方式

    本文将深入探讨如何利用Spring的声明式事务来处理业务操作中的数据一致性问题,以及相关源码解析。 首先,我们需要了解Spring的AOP概念。AOP是一种编程范式,它允许程序员定义“切面”,这些切面可以包含业务逻辑的...

Global site tag (gtag.js) - Google Analytics