可以说我有一个用两种方法'foo'和'goo'调用的bean
“goo”标记有AOP拦截呼叫。
是否可以在“foo”内部编写任何代码段,以便不直接而是通过bean的代理包装程序调用“goo”方法来激活它的AOP部分?

public Class Pojo{

  public void foo(){
    //what should I write here in order to activate 'goo' in transactional mode??
  }

  @Transactional
  public void goo(){
  }
}

最佳答案

是的,但是您需要通过spring代理访问它:

public Class Pojo{

  @Autowired
  private Pojo springProxy;

  public void foo(){
    springProxy.goo();
  }

  @Transactional
  public void goo(){
  }
}

10-01 11:58