お勉強メモ

DIとType

最終更新:

匿名ユーザー

- view
管理者のみ編集可
名称
サポートするDIタイプ
備考
Spring
Type2およびType3
J2EE用のフレームワーク
PicoCountainer
Type2およびType3 DIコンテナ
WebWork2
Type2
Web用のフレームワークとDIコンテナを提供する
Seasar2
Type2,3
国産のアプリケーションサーバ

これらDIコンテナに共通する主題は依存を注入することによってシステム内に存在するオブジェクト同士の結合度をゆるくすることであり、そのための仕組み。

DIコンテナは依存性を注入する仕組みによって3つのタイプ(Type)に分けられる。

Type2(Setter Injection)
特徴
オブジェクト間の関連がXMLファイルに記述されDIコンテナがオブジェクトのSetterメソッドを利用して参照するobjを設定すること

point
SetterメソッドをもっているPOJOであればType2のDIコンテナ用に作られたAppでなくても簡単にDIコンテナに管理をまかせることができるようになるということ

Type3(Constructor Injection)
特徴
DIコンテナがObjのコンストラクタのパラメータとして参照するObjを設定すること。
参照するObj、参照されるObjは開発者が作成し、コンテナは関連付けだけを依頼すること

XMLにかくわけじゃないので理解しやすい。
反面、DatasourceのようにRDBによって異なるObjの関連がほしい場合の柔軟性に欠ける。

Type1(Interface Injection)
特徴
インターフェースを実装することにより、その抽象メソッドのパラメータとして渡されたServiceManagerを利用しobjを取得する。


記事メニュー
目安箱バナー