[Seasar-user:15306] Re: 【Teeda】sessionのDIについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 8月 7日 (木) 20:00:13 JST
小林 (koichik) です.
Date: Thu, 7 Aug 2008 18:25:20 +0900
From: r.m <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15304] Re: 【Teeda】sessionのDIについて
> private TestDao testDao;
setter メソッドはありますか?
private フィールドは (そのままでは) DI の
対象にはなりません.
public にするか,setter メソッドを追加するか,
@Resource (または @Binding) アノテーションを
指定するかのいずれかが必要です.
> サーバー起動時にInitializeをする設定をdiconに追加
これは app.dicon でしょうか?
SMART deploy の場合,Dao が自動登録されるのは
ルートのコンテナ (app.dicon) であるため,
Dao を使用するコンポーネントも app.dicon に
登録する必要があります.
> これでやったところ、testDaoがDIされませんでした。
HOT deploy でしょうか? それとも COOL deploy
でしょうか?
いずれの場合も,本来なら
DSSR0105 クラス(TestDao)のコンポーネント定義を登録します
というようなログが出力されるはずなので
確認してください.
また,app.dicon に TestDao を明示的に定義した
場合はどうなるでしょうか?
<component name="testDao" class="...TestDao">
<aspect>dao.interceptor</aspect>
</component>
> やはり、initializeの時には、Daoを用いた初期化は出来ないのでしょうか。
そんなことはありません.
--
<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 メーリングリストの案内