美文网首页
Spring事务Required

Spring事务Required

作者: coderNeed | 来源:发表于2017-06-05 14:07 被阅读45次

本文重点讲一讲propagation参数,propagation配置的就是一个事务的传播性问题。
所谓事务传播性,就是被调用者的事务与调用者的事务之间的关系。举例说明。

//in A.java

Class A {
    @Transactional(propagation=propagation.REQUIRED)
    public void aMethod {
        B b = new B();
        b.bMethod();
    }
}

//in B.java

Class B {
    @Transactional(propagation=propagation.REQUIRED)
    public void bMethod { //something }
}

在上面这个例子中,传播性被设为了REQUIRED,注意,这是默认值,也即不进行该参数配置等于配置成REQUIRED。
  REQUIRED的含义是,支持当前已经存在的事务,如果还没有事务,就创建一个新事务。在上面这个例子中,假设调用aMethod前不存在任何事务,那么执行aMethod时会自动开启一个事务,而由aMethod调用bMethod时,由于事务已经存在,因此会使用已经存在的事务(也就是执行aMethod之前创建的那个事务)。
  对于这样的配置,如果bMethod过程中发生异常需要回滚,那么aMethod中所进行的所有数据库操作也将同时被回滚,因为这两个方法使用了同一个事务。

相关文章

  • Spring的7种事务传播机制

    1.REQUIRED REQUIRED(Spring默认的事务传播类型 required):如果当前没有事务,则自...

  • Spring事务Required

    本文重点讲一讲propagation参数,propagation配置的就是一个事务的传播性问题。所谓事务传播性,就...

  • Spring事务

    Spring事务 PROPAGATION_REQUIRED, 如果存在一个事务, 则支持当前事务. 如果没有事务则...

  • Spring 的事务传播类型、事务隔离级别

    事务传播类型 spring 的7种事务传播类型 PROPAGATION_REQUIRED: 如果当前没有事务,则创...

  • Spring事务简介

    事务的传播行为 Spring事务有7种传播行为: PROPAGATION_REQUIRED 支持当前事务,如果当前...

  • Spring的事务传播行为

    Spring的事务传播行为 PROPAGATION_REQUIRED ,如果存在一个事务,则支持当前事务。如果没有...

  • @Transactional的propagation参数

    Spring事务管理中@Transactional的propagation参数。 Required 支持当前已经存...

  • [025]Spring事物传播特性详解

    背景 Spring 默认的事务的传播为PROPAGATION_REQUIRED即如果当前没有事务,就新建一个事务。...

  • spring 事物传播机制

    spring的事务传播行为Propagation 总共有7种: REQUIRED如果当前没有事务,就新建一个事务;...

  • spring事务用法

    Spring事务传播范围 propagation="REQUIRED"如果方法运行时,已经处于一个事务之中,那么直...

网友评论

      本文标题:Spring事务Required

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