@AspectJ のサポートを有効にする

Spring 構成で @AspectJ アスペクトを使用するには、@AspectJ アスペクトに基づいて Spring AOP を構成するための Spring サポートと、それらのアスペクトによってアドバイスされているかどうかに基づいて自動プロキシ Bean を有効にする必要があります。自動プロキシとは、Spring が Bean が 1 つ以上のアスペクトからアドバイスを受けていると判断した場合、その Bean のプロキシを自動的に生成してメソッド呼び出しをインターセプトし、必要に応じてアドバイスが実行されるようにすることを意味します。

@AspectJ サポートは、XML または Java スタイルの構成で有効にできます。いずれの場合も、AspectJ の aspectjweaver.jar ライブラリがアプリケーションのクラスパス(バージョン 1.9 以降)にあることを確認する必要があります。このライブラリは、AspectJ ディストリビューションの lib ディレクトリまたは Maven Central リポジトリから入手できます。

Java 構成で @AspectJ サポートを有効にする

Java @Configuration で @AspectJ サポートを有効にするには、次の例に示すように、@EnableAspectJAutoProxy アノテーションを追加します。

  • Java

  • Kotlin

@Configuration
@EnableAspectJAutoProxy
public class AppConfig {
}
@Configuration
@EnableAspectJAutoProxy
class AppConfig

XML 設定で @AspectJ サポートを有効にする

XML ベースの構成で @AspectJ サポートを有効にするには、次の例に示すように、aop:aspectj-autoproxy 要素を使用します。

<aop:aspectj-autoproxy/>

これは、XML スキーマベースの構成で説明されているスキーマサポートを使用することを前提としています。aop 名前空間にタグをインポートする方法については、AOP スキーマを参照してください。