如果我有以下代码:

@Component
public class A{

@Transactional(propagation = Propagation.REQUIRED)
public void a(){
    //logic
    b();
 //logic
}

@Transactional(propagation = Propagation.REQUIRED)
public void b(){
    //logic
}
}


在此代码示例中,有多少笔交易打开Spring?

最佳答案

没关系从b()调用a()时,不会通过代理,因此不会考虑b()上的任何事务属性。

如果通过代理(即在类外部)调用a()b()并且尚无正在进行的事务,则示例代码将打开1个事务。

10-08 07:14