Springを使用したXMLスキーマベースのAOP
このセクションで説明されているAOP名前空間タグを使用するには、説明されているようにspringAOPスキーマをインポートする必要があります-
また、アプリケーションのCLASSPATHに次のAspectJライブラリが必要です。 これらのライブラリは、AspectJインストールの「lib」ディレクトリにあります。それ以外の場合は、インターネットからダウンロードできます。
- aspectjrt.jar
- aspectjweaver.jar
- aspectj.jar
- aopalliance.jar
アスペクトを宣言する
ここでは、前の章で見たように、他のSpring Beanと同じように「aBean」が構成され、依存関係が注入されます。
ポイントカットを宣言する
次の例では、com.finddevguidesパッケージの下のStudentクラスで使用可能なgetName()メソッドの実行と一致する「businessService」という名前のポイントカットを定義しています。
アドバイスを宣言する
次のように<aop:\ {ADVICE NAME}>要素を使用して、<aop:aspect>内で5つのアドバイスのいずれかを宣言できます-
同じ doRequiredTask または異なるアドバイスに異なるメソッドを使用できます。 これらのメソッドは、アスペクトモジュールの一部として定義されます。
XMLスキーマベースのAOPの例
XMLスキーマベースのAOPに関連する上記の概念を理解するために、いくつかのアドバイスを実装する例を作成しましょう。 少しアドバイスをしてサンプルを作成するには、動作するEclipse IDEを用意し、次の手順を実行してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Create a project with a name SpringExample and create a package com.finddevguides under the *src *folder in the created project. |
2 | Add required Spring libraries using Add External JARs option as explained in the Spring Hello World Example chapter. |
3 | Add Spring AOP specific libraries* aspectjrt.jar, aspectjweaver.jar and aspectj.jar *in the project. |
4 | Create Java classes* Logging*, Student and MainApp under the com.finddevguides package. |
5 | Create Beans configuration file Beans.xml under the src folder. |
6 | The final step is to create the content of all the Java files and Bean Configuration file and run the application as explained below. |
以下は Student.java ファイルの内容です
以下は MainApp.java ファイルの内容です
以下は設定ファイル Beans.xml です
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 すべてがあなたのアプリケーションでうまくいけば、それは次のメッセージを印刷します-
上記で定義された<aop:pointcut>は、パッケージcom.finddevguidesで定義されたすべてのメソッドを選択します。 特定のメソッドの前後にアドバイスを実行したい場合、ポイントカット定義の星印(*)を実際のクラス名とメソッド名に置き換えることにより、ポイントカットを定義して実行を絞り込むことができます。 以下は、概念を示すために変更されたXML構成ファイルです-
これらの構成変更でサンプルアプリケーションを実行すると、次のメッセージが出力されます-