zoukankan      html  css  js  c++  java
  • 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");
      }
  • 相关阅读:
    输出三角行
    练习
    循环
    阶乘
    常量、变量、数据类型 搞错N+1次 累死
    UTF-8
    数据库事务
    Jsp的使用
    Cookie和Session
    请求转发和重定向
  • 原文地址:https://www.cnblogs.com/joequa/p/12804409.html
Copyright © 2011-2022 走看看