|
|||||||||||||||||
| 前のページ 1 2 3 4 次のページ | |||||||||||||||||
| Spring におけるDIの仕組みと設定方法 | |||||||||||||||||
|
それでは、サンプルから少し離れてSpringのDIの仕組みとDIの設定方法を解説します。 |
|||||||||||||||||
| DIの仕組み | |||||||||||||||||
|
SpringがDIを実現する仕組みの実態(SpringのDIコンテナといわれる部分)は、BeanFactoryとBeanFactoryの上位にあたりリソース管理なども行うApplicationContextになります。 BeanFactoryは、実行時に渡される定義ファイル(デフォルト名は"applicationContext.xml")を利用してオブジェクト(注)の管理と構成を行うものです。 |
|||||||||||||||||
|
※注:
Seasarではコンポーネントと呼んでいるものです。Springではオブジェクトと記載しますが基本的には同じものです
DIの利用者は、Unitテストなどの場合を除くとBeanFactoryやApplicationContextを直接利用(リスト8)することは少ないでしょう。WebアプリケーションなどではBeanFactoryにメッセージリソースやイベント処理を追加したApplicationContextが利用されます。 リスト8 |
|||||||||||||||||
Resource resource = new ClassPathResource("Bean定義ファイル.xml");
|
|||||||||||||||||
| 定義ファイル | |||||||||||||||||
|
定義ファイルはXMLファイルとして記述されます。リスト9は定義ファイルの記述例です。 リスト9 |
|||||||||||||||||
<beans>
|
|||||||||||||||||
|
次に詳しいタグの利用方法を表6と表7に記載します。beanタグはDIコンテナが管理するオブジェクトの設定をおこなうものです。beanタグに設定できる代表的な属性を表1に示します。 |
|||||||||||||||||
表6:beanタグの属性 |
|||||||||||||||||
| 表7はオブジェクト間の依存関係をBean定義ファイルでおこなう代表的な例です。 定義ファイルが大きいと可読性が悪くなり、管理するのが大変になります。また、開発チームを複数に分けるときには定義ファイルも複数に分ける必要があります。SpringのBean定義ファイルは分割することができます。 リスト10はWebアプリケーションで2つの定義ファイルを設定している"web.xml"の例です。例のように分割した定義ファイルは、ブランクかセミコロン(;)、カンマ(,)で区切って記述します。 リスト10:定義ファイルの分割例 |
|||||||||||||||||
<context-param>
|
|||||||||||||||||
|
前のページ 1 2 3 4 次のページ |
|||||||||||||||||
|
|
|||||||||||||||||
|
|
|||||||||||||||||
|
|||||||||||||||||
|
|
|||||||||||||||||
|
|||||||||||||||||



