メソッド呼び出しにおける AOP の制限について
メソッド 1 内でメソッド 2 が呼び出されるときに Spring AOP が呼び出されないという一般的な問題が発生しました。同じクラス。この背後にある理由を理解するために、Spring の AOP の基本概念を詳しく見てみましょう。
Spring では、AOP のアスペクトは実際の Bean インスタンスを囲むプロキシ オブジェクトに適用されます。 Bean への参照を取得すると、それは元のクラスではなく、関連するインターフェイスを実装し、実際のクラスに委任する合成プロキシになります。このプロキシは、AOP の側面を含む機能を追加します。
あなたの場合、Bean プロキシを完全にバイパスして、同じクラス内のメソッド 1 からメソッド 2 を直接呼び出しています。その結果、method2 に定義された AOP アスペクトはトリガーされません。
これに対処するには、いくつかの代替案を検討できます。
以上がAOP が同じクラス内のメソッド呼び出しをインターセプトできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。