[Seasar-user:4712] Re: [S2Struts]Servletコンテナ上でDxoがInjectionされない

Yasuhiro Oguro [E-MAIL ADDRESS DELETED]
2006年 9月 27日 (水) 15:27:57 JST


小黒です。
返答遅れて申し訳ない。

dicon周りを全部書き直してもうまくいかなくて、
諦めていたのですが。


> public class WorkTimeLogicImpl implements WorkTimeLogic {
>	WorkTimeDxo workTimeDxo;
の宣言のクラスに純粋に
public void setWorkTimeDxo(WorkTimeDxo workTimeDxo){
	this.workTimeDxo = workTimeDxo;
}
つまりsetterが無かったという、
自分自身ショックな出来事でした。

当たり前すぎて、setterが必要という記載を探し出せなかったようです・・・

お騒がせして申し訳ありませんでした。

On Thu, 07 Sep 2006 04:00:39 +0900
Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:

> 小林 (koichik) です.
> 
> Date:    Wed, 06 Sep 2006 14:08:20 +0900
> From:    Yasuhiro Oguro <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:4553] [S2Struts]Servletコンテナ上でDxoがInjectionされない
> 
> > app.diconは
> > <components>
> > 	<include path="s2struts.dicon" />
> > 	<include path="allaop.dicon" />
> > 	<include path="alldao.dicon" />
> > 	<include path="s2dxo.dicon" />
> > <!-- singleton -->
> > 	<component name="workTimeDxo" class="hoge.dxo.WorkTimeDxo">
> > 		<aspect>s2dxo.s2DxoIntereceptor</aspect>
> > 	</component>
> > 	。。。
> > <components>
> > です。作法に則ってないのがよくないのでしょうか・・・
> 
> 
> WorkTimeLogicImpl はどこに定義していますか?
> もし WorkTimeLogicImpl が app.dicon に定義されていれば
> WrokTimeDxo が DI されるはずですが,別の dicon に
> 定義されていると,そこからは WorkTimeDxo が見えないため
> DI されなくなってしまいます.
> 
> S2 では,コンポーネントに DI されるのは,
> 
> ・コンポーネントが定義されているコンテナに登録されているコンポーネント
> ・コンポーネントが定義されているコンテナがインクルードしている
>   コンテナのコンポーネント (インクルードしているコンテナが
>   インクルードしているコンテナも含む)
> 
> のいずれかになります.
> 簡単に表現すると,親から子は見えるが,子から親は見えない,
> ということになります.
> 
> もし app.dicon が
> 
> <components>
>     <include path="dxo.dicon"/>
>     <component class="LogicImpl"/>
> </component>
> 
> となっている場合,LogicImpl には dxo.dicon に定義された
> Dxo が DI されますが,
> 
> <components>
>     <include path="logic.dicon"/>
>     <component class="Dxo"/>
> </components>
> 
> となっていると,logic.dicon に定義された LogicImpl に
> Dxo は DI されません.
> 
> コンポーネントを定義する dicon の位置に気をつけて
> 確認してみてください.
> 
> 
> -- 
> <component name="koichik">
>     <property name="fullName">"Koichi Kobayashi"</property>
>     <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>     <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user

お疲れ様です。小黒です。

以上 宜しくお願いします。
---
NEEC System Technology Corp. Co. ★.。.:*・°
Y.Oguro <[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内