|
||||||||||||
| 1 2 3 4 次のページ | ||||||||||||
| SpringのAOPについて | ||||||||||||
|
前回は、Seasar2のAOPを利用したトレースログの出力処理と例外処理の追加の解説を行いました。今回は連載の「第4回:Springの導入によるDIの実現」で作成した従業員管理WebアプリケーションにSpringのAOPを利用したトレースログの出力処理と例外処理を追加していきます。 今回追加するトレースログの出力処理と例外処理は次のようになります。
表1:トレースログの出力処理と例外処理
それでは、従業員管理Webアプリケーションにトレースログの出力処理と例外処理を追加する前にSpringのAOPについて解説しましょう。AOPの用語については連載の「第5回:AOPとは何か」を参考にしてください。 |
||||||||||||
| SpringのAOPのAdvice | ||||||||||||
|
SpringのAOPでは、次に示す4つのタイプのAdviceを提供しています。
表2:Adviceのタイプ それではそれぞれのAdviceについて解説しましょう。 |
||||||||||||
| Around Advice | ||||||||||||
|
Around AdviceはJoinpointの前後に、処理を追加します。 SpringでAround Adviceを利用するには、AOP Allianceが提供するインターフェースorg.aopalliance.intercept.MethodInterceptor(リスト1)を実装して追加したい処理を記述します(リスト2)。 リスト1:MethodInterceptor |
||||||||||||
public interface MethodInterceptor extends Interceptor {
|
||||||||||||
|
リスト2:Around Adviceでの実装例 |
||||||||||||
//Adviceの定義(Joinpointで実行される振る舞い)
|
||||||||||||
|
なお、リスト2のinvocationオブジェクトは、本来呼び出されるメソッドをあらわすMethodInvocationクラスです。このクラスMethodInvocationのproceedメソッドを呼び出すことで、本来呼び出されるクラスのメソッドを呼び出すことができるような仕組みになっています。 前回のSeasar2で解説したようにMethodInterceptorを利用することでBefore AdviceやAfter Adviceなども工夫次第で作成することもできますが、SpringではMethodInterceptorは基本的にAround Adviceを作成するものです。 |
||||||||||||
|
1 2 3 4 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||


