[Seasar-user:15300] Re: 【Teeda】sessionのDIについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 8月 7日 (木) 17:30:26 JST


小林 (koichik) です.

Date:    Thu, 7 Aug 2008 17:10:51 +0900
From:    r.m <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15298] Re: 【Teeda】sessionのDIについて

>  ------------------ApplicationInitializer------------------
>  SingletonS2ContainerFactory.init();
>  S2Container container = SingletonS2ContainerFactory.getContainer();
>  container.init();
>  -----------------------------------------------------------
> 
> この部分を削除すると、ApplicationInitializer 初期化処理内の後続処理において
> 例えば MasterInfoDao(マスター情報取得用)を取得する場合
> container.getComponent(MasterInfoDao.class)
> では、コンテナーがまだ初期化されておらず、コンポーネントが取得する事が出来ません。
> 通常こういった利用はしないのでしょうか?

しません.
Dao を自分で取りに行くのではなく,DI してもらうのが
通常の使い方です.

public MasterInfoDao masterInfoDao;

注意点としては,Dao を AutoRegister で
自動登録している場合,ApplicationInitializer は
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 メーリングリストの案内