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

Java 是否使用Spring AOP proxyTargetClass=true进行嵌套方法调用,java,spring-aop,Java,Spring Aop,SpringAOP在通过接口公开的方法上运行良好。Spring AOP通过target class@enableSpectJautoproxy(proxyTargetClass=true)在代理上提供了一个选项 在本例中,目标类是代理,因此我假设它的所有方法-public、protected和private interface ISample { public method1(); } class Sample implements ISample { @Log

SpringAOP在通过接口公开的方法上运行良好。Spring AOP通过target class@enableSpectJautoproxy(proxyTargetClass=true)在代理上提供了一个选项

在本例中,目标类是代理,因此我假设它的所有方法-public、protected和private

   interface ISample {
      public method1();
   }

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

   @LogMe
   private method2() {
     ...
   }
}
我在类路径中配置了cglib库,配置类有@enableSpectJautoproxy(proxyTargetClass=true),方面类有@aspect和@Component。如果用@LogMe注释,则方面类记录所有方法调用


问题是这个设置method2()调用没有被记录?如果代理在目标类上,这不行吗?

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

线程中的更多详细信息

CGLIB代理由目标运行。由于
method2()
具有
private
access修饰符,因此它不能被覆盖,因此不能被代理;这就是你观察到的。此外,
method2()
是内联调用的,而不是通过spring管理的bean调用的,该bean可以被拦截。@Bond-JavaBond谢谢!spring文档的解释很清楚。是否有一个建议的链接,我可以参考使用spring的aspectj加载时编织?对于基本配置,我将EnableLoadTimeWeaving和EnableSpringConfigured添加到配置文件中,并使用spring工具jar启动服务器,编织似乎不起作用。一套工作步骤将有助于参考。请将面临的问题汇编为新帖子/问题。。很乐意帮忙:)@Bond JavaBond问题贴出--