[Seasar-user:1751] Re: TooManyRegistrationRuntimeException : [ESSR0045]について
Hideaki Maekawa
maekawa
2005年 4月 6日 (水) 14:30:15 JST
前川です。
> ■diconファイル
> <component name="b1" class="tech.di.BBB" />
この部分でインターフェイス(ICCC)による、自動バインディング
(BBB#setCCC)が動作します。
> <component name="c1" class="tech.di.CCC" />
> <component name="c2" class="tech.di.CCC" />
ところがICCCの実装クラスが複数ある為に例外が発生します。
> <component name="b2" class="tech.di.BBB">
> <property name="cCC">c2</property>
> </component>
こちらはプロパティを明示的に指定している為、コンポーネント名
によるインジェクションが動作する為大丈夫なわけです。
b1の方もプロパティを明示的に指定すれば、これが解決かはさてお
き、とりあえず例外は発生しないはずです。
#蛇足:一応autoBinding="none"という方法もありますが…
自動バインディングは便利な反面、知らない間にミスする可能性が
ある諸刃の剣なので、ドキュメントを良く読んで理解を深めること
をお勧めします。
--
株式会社フリーダム システム開発部
前川英昭 <[E-MAIL ADDRESS DELETED]>
0x2ED8CFD9 : 8E27 33DD 3480 C83A 15AD EB27 DC37 1DBE 2ED8 CFD9
Seasar-user メーリングリストの案内