0

私の使用例は、オブジェクトのすべてのメソッド呼び出しをログに記録することです。ターゲット オブジェクトにメソッド インターセプターを追加した後、メソッドを呼び出しますFoo。このメソッドはメソッドFooを呼び出しますBar。メソッドのみFooがログに記録されます。

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

Spring のドキュメントを読んで、私が望むものを実装できない理由を説明する文を見つけました。Spring のドキュメント (146 ページ) から:

どちらの場合も、ターゲット オブジェクトで他のメソッドを呼び出すターゲット メソッドの実装は推奨されないことに注意してください。

ここで何か不足していますか?それとも、これは本当に春の制限ですか?

4

2 に答える 2

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 に答える
0

そのような制限がない AspectJ ウィービングを使用できます。

于 2010-12-02T20:12:46.303 に答える