[Seasar-user:3612] Re: [s2container]あるインターフェースをもクラスをすべてインジェクションする方法について
Hidenoshin Yoshida
[E-MAIL ADDRESS DELETED]
2006年 5月 12日 (金) 08:16:17 JST
吉田です。
私も同じ要件で悩んだことがあります。
今は
S2Container#findComponents(Object componentKey)
を使っています。
セッターインジェクションによってObject配列で受け取り、
setterメソッドの中で使いやすい形に変換して使っています。
書いていて思ったのですが、自分の使い方の場合、
DIされるクラス側で変換するよりも
OGNL上で何か変換ユーティリティを呼び出した方が良さそうですね。
> お疲れ様です、上原です。
>
> どこまで一般的な要望かわからないのですが、あるインターフェースをもつク
> ラスをすべてインジェクションしたいことが今まで何度かありました。
>
> いままでは、S2Containerをインジェクションしてもらって、Componentをすべて
> 取り出し、インターフェースを実装しているComponentを取得するか、
> initMethodでaddするかしていたのですが、他によい方法はないでしょうか。
>
> setHoges(Hoge[] hoges);
> のようなメソッドがあるときにHogeをimplementしているクラスをまとめて
> インジェクションしてくれるような機能を追加してもらえるととても
> 便利だと思うのですがどうでしょうか。
--
吉田秀之進
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内