SpringBoot 類中方法調用方法事務失效問題


@Sevice
public class Test {

  public void a(){
    b();
  }

  @Transactional
  public void b(){
    System.out.print("b");
  }
}

此時事務時不生效的,因為@Transactional注解事務是通過代理來控制的,方法調用本類方法,事務不會生效。

 

解決方法:

// 增加該注解開啟代理
@EnableAspectJAutoProxy(proxyTargetClass = true,exposeProxy = true)
@Sevice
public class Test {

  public void a(){
    // 通過代理方式調用方法
    ((Test)AopContext.currentProxy()).b();
    // b();
  }

  @Transactional
  public void b(){
    System.out.print("b");
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM