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)