使用Spring AOP proxyTargetClass = true进行嵌套方法调用

时间:2017-02-27 17:24:33

标签: java spring-aop

Spring AOP适用于通过接口公开的方法。 Spring AOP通过目标类@EnableAspectJAutoProxy(proxyTargetClass = true)提供代理选项

在这种情况下,目标类是代理,所以我假设它的所有方法 - public,protected和private。

   interface ISample {
      public method1();
   }

class Sample implements ISample { 
   @LogMe
   public method1() {
     ...
     method2();
   }

   @LogMe
   private method2() {
     ...
   }
}

我在类路径中配置了cglib库,配置类有@EnableAspectJAutoProxy(proxyTargetClass = true),方面类有@Aspect和@Component。如果使用@LogMe注释,则Aspect类会记录所有方法调用。

问题是这个设置方法2()调用没有记录?如果代理服务器位于目标类上,那么这应该工作吗?

1 个答案:

答案 0 :(得分:0)

CGLIB代理对我的案例不起作用。但是我使用了AspectJ加载时编织。

线程中的更多细节 Spring AspectJ loadtimeweaving not invoked