AspectJを利用する (5/5)
作成:2015-07-18 08:32
更新:2015-07-18 08:32
更新:2015-07-18 08:32
■Bean設定クラスを利用する
さあ、これでAspectJの基本的な利用の仕方はわかりました。が、Spring Frameworkでは、Beanは設定ファイルでなく、クラスを使って定義することもできましたね。AspectJでも、この「定義クラスを使った利用」を行ってみましょう。
com.tuyano.libro.aopパッケージ内に、「SampleAspectConfig」というクラスを作成して下さい。そして下のリスト欄のようにコードを記述しましょう。これがAspectJの設定クラスになります。記述したら、App.javaを開き、以下の一文を修正しましょう。
※Appの修正
これで実行すれば、先程と同様にAspectJによるメソッドの挿入が行われ、メソッドの呼び出し前後に処理が実行されるようになります。このクラスでは、設定クラスであることを示す@Configurationの他に、
Beanの定義はこれまでと変わりはありません。ただ、@EnableAspectJAutoProxyを追加するだけでAspectJの機能がONになるわけですね。設定クラスに変えても、AspectJ利用の簡単さは変わらないことがわかるでしょう。
com.tuyano.libro.aopパッケージ内に、「SampleAspectConfig」というクラスを作成して下さい。そして下のリスト欄のようにコードを記述しましょう。これがAspectJの設定クラスになります。記述したら、App.javaを開き、以下の一文を修正しましょう。
※Appの修正
ApplicationContext app =↓
new ClassPathXmlApplicationContext("aopbean.xml");
ApplicationContext app =
new AnnotationConfigApplicationContext(SampleAspectConfig.class);
これで実行すれば、先程と同様にAspectJによるメソッドの挿入が行われ、メソッドの呼び出し前後に処理が実行されるようになります。このクラスでは、設定クラスであることを示す@Configurationの他に、
@EnableAspectJAutoProxy
このようなアノテーションがクラスに追加されています。これは、Bean定義ファイルに用意した<aop:aspectj-autoproxy />タグに相当するものです。これを記述することで、AspectJのオートプロキシー機能がONになり、自動的にアスペクト・クラスのメソッド挿入が行われるようになります。Beanの定義はこれまでと変わりはありません。ただ、@EnableAspectJAutoProxyを追加するだけでAspectJの機能がONになるわけですね。設定クラスに変えても、AspectJ利用の簡単さは変わらないことがわかるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package com.tuyano.libro.aop; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; @Configuration @EnableAspectJAutoProxy public class SampleAspectConfig { @Bean SampleAopBean sampleAopBean() { return new SampleAopBean("this is AspectJ bean."); } @Bean SampleAspect sampleAspect() { return new SampleAspect(); } }
※関連コンテンツ
「初心者のためのSpring Framework入門」に戻る