サンプルアプリケーションの実行
リスト1以下に示すコードを作成し、SpringTestクラスのmainメソッドを実行すると、以下のように表示されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
HelloWorldBeanImplクラスには、「Helloworld」という文字列を出力するコードしか記述されていませんが、SpringAOPによってインターセプターに記述されたメソッド前後の処理(文字列「メソッド実行前」と「メソッド実行後」の出力)を挿入することができました。
リスト1以下のサンプルで分かるように、オブジェクトの定義や呼び出し元の呼び出し方法などをまったく変えることなく、メソッドに処理を追加することができるのがAOPです。このAOPをインフラストラクチャに採用することで、ビジネスロジックとは関係のない処理を分離したり、アーキテクチャの部分だけを改修や強化したりすることができるようになります。またビジネスロジックから分離されたインフラストラクチャだけを再利用することも可能になります。AOPは、まさにインフラストラクチャに適した仕組みといえます。このAOPによってDIコンテナは、さらに柔軟性を強化できるのです。
■サンプルアプリケーションのソースコード
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.