[Seasar-user:6293] Re: スコープがapplicationのDtoの設定と取得について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 2月 23日 (金) 04:01:07 JST


小林 (koichik) です.

Date:    Fri, 23 Feb 2007 02:53:00 +0900
From:    友田 雅宏 <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:6292]  スコープがapplicationのDtoの設定と取得について

> まずはDtoの設定なのですが、app.diconで
>  
>  <component  class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister" >  <property name="instanceDef">   @[E-MAIL ADDRESS DELETED]  </property>  <initMethod name="addClassPattern">   <arg>"jp.mtomoda.www.dto"</arg>   <arg>".*DtoAP"</arg>  </initMethod> </component>
> という感じで設定するのでしょうか?それともxxxxDto.javaで
>     public static final String COMPONENT = "instance = application";
>  
> と設定するのでしょうか?

どちらでも同じ結果になりますが,Dto を常に application
スコープで使うのでない限り,定数アノテーションは使わずに
AutoRegister で application スコープにする方がいいのでは
ないかと思います.

> org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(jp.mtomoda.www.dto.DefDto)のプロパティ(AbcDto)の設定に失敗しました。理由はorg.seasar.framework.container.TooManyRegistrationRuntimeException: [ESSR0045]villageControlAPDtoに複数のコンポーネント(jp.mtomoda.www.dto.AbcDto, jp.mtomoda.www.dto.AbcDto)が登録されています

コンテナに AbcDto が 2 つ登録されているようです.
<component> による定義と AutoRegister による定義が
混在していたりしないでしょうか?


-- 
<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 メーリングリストの案内