2
私たちはいくつかのインタフェースを実装するクラスを持っています。私たちはクラス全体のためのいくつかのポイントカットを追加したいと思います - それの特定のインターフェースのためではありません。実装クラスにアスペクトを追加しないでください
Spring AOPでどのように処理できますか?アスペクトを非インターフェイスクラスに適用することは可能ですか?
私たちはいくつかのインタフェースを実装するクラスを持っています。私たちはクラス全体のためのいくつかのポイントカットを追加したいと思います - それの特定のインターフェースのためではありません。実装クラスにアスペクトを追加しないでください
Spring AOPでどのように処理できますか?アスペクトを非インターフェイスクラスに適用することは可能ですか?
はい、プロキシクラスにはCGLIBを使用する必要があります。 section 7.1.3 of the spring docs
Spring AOPでもCGLIBプロキシを使用できます。これは、インターフェイスではなくクラスをプロキシするために必要です。ビジネスオブジェクトがインタフェースを実装していない場合、CGLIBはデフォルトで使用されます。クラスではなくインターフェイスにプログラミングすることが推奨されるので、ビジネスクラスは通常、1つ以上のビジネスインターフェイスを実装します。
魔法が...次を経由して、プロキシ・ターゲット・クラスを定義することである
<aop:config proxy-target-class="true">
<!-- other beans defined here... -->
</aop:config>