検索
連載

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

Share
Tweet
LINE
Hatena
前のページへ |       

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

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

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

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

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

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

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

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

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

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

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

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


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る