以下に示すコードのように、Web アプリで Spring AOP フレームワークを使用するクラスがあります。次のコードを実装すると、Spring AOP が add() をトレースできたのに、multiple() をトレースできなかったのはなぜだろうと思っていました。
public interface calculator {
public void add();
public void multiple();
}
public class calculatorImpl implements calculator {
public void add() {
multiple();
}
public void multiple() {}
}
実験を行ったところ、次のコードが正常に機能することがわかりました。Spring AOP が追加機能と複数機能の両方をトレースできることを意味します。
ICalculator calcProxy = (ICalculator) context.getBean("calculatorProxy");
calcProxy.add();
calcProxy.multiple();
multiple()
これは、プロキシ Bean によって注入されたことが原因であるに違いないと思いますが、 multiple()
incalculatorImpl
クラスはそうではなかったので、Spring AOP はそれを追跡できませんでした。私が間違っている場合は修正してください。
私の次の質問。Spring AOP でadd()
実際に実行してトレースを取得する必要があるこの問題の回避策はありますか?multiple()