[Seasar-user:14810] Re: インスタンスをセッションで管理について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 6月 25日 (水) 04:01:02 JST
小林 (koichik) です.
Date: Tue, 24 Jun 2008 19:33:19 +0900
From: "Masao NADAI" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:14806] インスタンスをセッションで管理について
> この対象となるプロパティは、
> ・命名規約により決まったsuffixのクラス名のプロパティ
> かつ、
> ・命名規約により決まったsuffixのプロパティ名のプロパティ
> ということでよろしいでしょうか?
> #どこかのページに載っていたらすいません。
自動バインディングと SMART deploy によるコンポーネントの
自動登録を混同しているようです.
自動バインディングの仕様は以下を参照してください.
http://s2container.seasar.org/2.4/ja/DIContainer.html#AutoBindingMode
SessionDto はインタフェースを実装していないので,
----------------------------------------------------------------------
プロパティの型を実装したコンポーネントがコンテナに1つ登録されていて、
プロパティ名とコンポーネント名が一致する場合、 そのコンポーネントが
設定されます。
----------------------------------------------------------------------
が適用されます.
自動バインディングに関しては suffix は関係ありません.
> public void setSession(SessionDto session) {
> this.session = session;
> }
この場合,SessionDto のアノテーションが
@Component(instance = InstanceType.SESSION, name="session")
となっていれば DI されます.
あるいは dicon に session という名前で明示的に定義
した場合も DI されます.
> public void setSessionDto(Session sessionDto) {
> this.sessionDto = sessionDto;
> }
こちらは DI されそうに見えます.
# こぴぺして修正し忘れ?
--
<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 メーリングリストの案内