美文网首页
Spring声明式事务回滚机制

Spring声明式事务回滚机制

作者: 小小蒜头 | 来源:发表于2018-05-18 16:42 被阅读165次

需求:本来的流程是用户对将购买的商品订单进行支付,支付成功后商品减库存,然后打印小票,将这笔订单信息存进数据库,如果用户支付请求抛出异常时,数据库里商品库存应该保持不变,本次订单也不会存进数据库,这里我的解决方式就是在这个方法上加上事务处理。

配置spring-mybatis.xml

<!-- 事物切面配置 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="insert*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
            <tx:method name="update*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
        </tx:attributes>
    </tx:advice>

    <aop:config>
        <aop:pointcut id="payPointCut" expression="execution(* com.fuhuitong.applychain.service.impl.POSAppServiceImpl.posPaySuccess(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="payPointCut"/>
    </aop:config>

  
    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"/>
添加事务

注意:要加入一个包,本人因为少这一个包报错,走了很多弯路。

<dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.6</version>
 </dependency>

相关文章

  • 有关Spring事务,看这一篇就足够了

    本文将按照声明式事务的五个特性进行介绍: 事务传播机制 事务隔离机制 只读 事务超时 回滚规则 Spring事务传...

  • 手写源码(一):自己实现Spring事务

    手写Spring事务 Spring事务分为声明式事务(注解或包扫描)和编程式(在代码里提交或回滚)事务,声明式事务...

  • Spring声明式事务回滚机制

    需求:本来的流程是用户对将购买的商品订单进行支付,支付成功后商品减库存,然后打印小票,将这笔订单信息存进数据库,如...

  • SpringBoot事务回滚问题

    SpringBoot事务不回滚问题 Spring声明式事务管理默认对 非检查型异常 或 运行时异常 进行事务回滚,...

  • Spring 事务机制详解

    Spring事务机制主要包括声明式事务和编程式事务 Spring声明式事务时,有一个非常重要的概念就是事务属性。事...

  • pringMVC事务回滚

    事务回滚机制 默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚。 如果不写rool...

  • 分析动态代理给Spring事务埋下的坑

    前言 Spring的声明式事务让我们不在编写获得连接、关闭连接、开启事务、提交事务、回滚事务等代码,通过一个简单的...

  • 分析动态代理给Spring事务埋下的坑

    前言 Spring的声明式事务让我们不在编写获得连接、关闭连接、开启事务、提交事务、回滚事务等代码,通过一个简单的...

  • spring 单数据源的声明式事务

    mysql中使用事务回滚的语句示例: 在spring中,事务的成型包括两种: 声明式事务编程式事务 本文主要讲解的...

  • spring mybatis整合

    spring的声明式事务管理,可以回滚service的操作(当遇到异常情况时) Aop(aspect object...

网友评论

      本文标题:Spring声明式事务回滚机制

      本文链接:https://www.haomeiwen.com/subject/vjwgdftx.html