0

我的用例是记录对象上的每个方法调用。在目标对象上添加方法拦截器后,我调用方法Foo。这个方法Foo调用一个方法Bar。只有方法Foo会被记录。

class MyClass {
   public void Foo() {Bar();}
   public void Bar() {}
}

阅读 Spring 文档,我找到了一个解释为什么我不能实现我想要的东西的句子。来自 Spring 文档(第 146 页):

请注意,在这两种情况下,都不会建议调用目标对象上的其他方法的目标方法实现。

我在这里错过了什么吗?或者这真的是 Spring 的限制吗?

4

2 回答 2

0

您可以使用没有任何此类限制的 AspectJ 编织。

于 2010-12-02T20:12:46.303 回答
0

解决方案的开始...

http://www.digizenstudio.com/blog/2007/05/29/the-self-calling-limitation-in-spring-aop-and-one-unintrusive-solution/

编辑 最后,我决定切换到 Castle AOP。他们提出了一个满足我需求的类代理。

于 2010-12-02T10:53:58.880 回答