Spring AOPサンプルアプリでAOPを理解するSpring Frameworkで理解するDI(3)(3/3 ページ)

» 2005年12月03日 00時00分 公開
[山本大クロノス]
前のページへ 1|2|3       

DIコンテナでライフサイクル管理

 Springフレームワークの中核はDIコンテナです。DIコンテナがオブジェクトの生成や協調を管理することは「第1回 DI:依存性の注入とは何か?」で説明しましたが、それ以外にもDIコンテナを使うからこそ実現できる機能がいくつか存在します。例えば、DIコンテナによって管理されるオブジェクトの生成、破棄などのイベントが発生したタイミングで何らかの処理を実行するといった、ライフサイクルの管理が可能になります。

 第1回で作成したサンプルプログラムの一部を書き換えて、Springフレームワークによるオブジェクトのライフサイクル管理を試してみることにしましょう。

 第1回の記事において、「関連オブジェクトの注入サンプル」で作成したプログラムのParentクラスに以下のInitializingBeanインターフェイスを実装してください。

リスト6 オブジェクト初期化時のイベントメソッド
import org.springframework.beans.factory.InitializingBean;

public class Parent implements InitializingBean{
  public Parent() {}
  private String name;
  
  public String getName() {return name;}
  public void setName(String name) {this.name = name;}

  public void afterPropertiesSet() throws Exception {
    System.out.println("afterPropertiesSet:"+this.getName());
  }
}

 「リスト 2 7:オブジェクト初期化時のイベントメソッド」の実装を行うことによって、オブジェクトが初期化されたときにsetBeanName()メソッドが読み込まれるようになります。

オブジェクト初期化時のイベントメソッドの実行結果
afterPropertiesSet:親

 そのほかにも、オブジェクトが破棄されるタイミングで発生するイベントを処理するための「DisposableBean」インターフェイスなどがあります。

インターフェイス名 イベントメソッド イベントタイミング
InitializingBean public void afterPropertiesSet() throws Exception Bean初期化時
DisposableBean void destroy() throws Exception Bean破棄時

 Springフレームワークは、開発プロジェクトのインフラストラクチャ構築をサポートするフレームワークであるといえます。強力なインフラストラクチャを構築するためにSpringフレームワークは、アスペクト指向プログラミングをはじめとしたインフラストラクチャ構築のフレームワークを提供しています。インフラストラクチャコードをビジネスロジックから切り出せば、見通しの良いプログラムになるだけではなく、保守性、柔軟性に富んだアプリケーションを作り出すことが可能になります。

 Springフレームワークを使用して構築したインフラストラクチャは、再利用可能なインフラストラクチャとすることができるのです。

 次回はSpringフレームワークを使って構築したインフラストラクチャのメリットを説明していきたいと思います。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。