[Seasar-user:15003] 配列のAutoBinding
"TAKEUCHI Shinichi / 竹
"TAKEUCHI Shinichi / 竹
2008年 7月 11日 (金) 16:45:29 JST
お世話になります、(有)工楽房の竹内です。
最近になって気づいたのですが、S2のコンポーネントとして取り出す
インスタンスに配列のフィールドがあった場合に、S2がDIしてくれる
のですね。仕様によると、配列の型を元にコンテナからすべての要素を
取り出してセットしてくれるようですが、以下のようにすべてを取出し
ているようです。
S2Container.findAllComponent(TypeOfArray.calss)
思ってもいないDIが実行されてしまって困ったことと、上記のやり方だと
DIされるものが想定を超えた広い範囲になってしまう場合がありそうです
ので、質問です。
1)このAutoBindingを制限することはできますか?
仕様ではAnnotationで個別に制限できますが、たとえば
*パッケージを指定しての制限(全DIでなく、配列のみDIを制限)
2)DIされる配列を制限することはできますか
たとえば、当該クラスのサブクラスは含めないとか、
逆にサブクラスの内で特定のパッケージに属するものだけにするとか
キーワード:配列 自動 バインド Auto Bind
--
TAKEUCHI Shinichi / 竹内 伸一 <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内