[Seasar-user:13635] Re: Teeda のDaoクラスのDIについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 4月 8日 (火) 16:00:28 JST


小林 (koichik) です.

Date:    Tue, 8 Apr 2008 08:25:23 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13619] Re: Teeda のDaoクラスのDIについて

> Teedaの中で、DAOの扱い方なのですが、S2DAOのサンプルなどに
> 記載されているコーディングを参考に行ってました。

Dolteng で Super Agile (Teeda + S2Dao) プロジェクトを
作成して,scaffold でひな形を作成して参考にするのが
オススメです.
手順はネット上にはちゃんとまとまったものが
なくて (ごめんなさい),書籍
「Seasar2によるスーパーアジャイルなWeb開発」
が一番分かりやすい&詳しいです.

>         doTest()
>         {
>                 S2Container container = S2ContainerFactory.create(PATH);
>                 container.init();

これは不要です.
TestPage がコンテナを作成するのではなく,
コンテナが TestPage を作成します.
修正後の SingletonS2ContainerFactory を使う
必要もありません.

>                         EmployeeDao dao
>                         = 
> (EmployeeDao)container.getComponent(EmployeeDao.class);

コンテナに Dao を取りに行くのではなく,
コンテナに Dao を注入してもらいます.
それには,

public EmployeeDao dao;

というフィールドを用意するだけです.
それだけで,


>                         employees = dao.select();

と呼び出せるようになります.




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