[Seasar-user:14402] Re: DIについて

小川昌幸 [E-MAIL ADDRESS DELETED]
2008年 5月 23日 (金) 11:50:59 JST


小林様

いつもいつもありがとうございます。
app.diconに
<component instance="prototype" class="system.web.ShoppingSendMail" />
を記述しましたが、

Systemctl[]    sysctl    = getIfDao().selectAll();
が、NullPointerExceptionでおちます。

getIfDaoは
    public SystemctlDao getIfDao() {
        return ifDao;
    }
であり、
ifDaoは
    private    SystemctlDao    ifDao;
です。
SystemctlDaoは
DBのDaoインターフェイスでありまして、
pageクラスに上記のように記述すると、使えるようになります。

申し訳ございませんが、diconファイルの記述が足りないのでしょうか?


2008/05/22 17:30 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:

> 小林 (koichik) です.
>
> Date:    Thu, 22 May 2008 17:26:28 +0900
> From:    "小川昌幸" <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:14391] Re: DIについて
>
> > しかし、system.web.ShoppingSendMailクラスにDaoがDI
> > しません。
> > どこか、他に問題ありますでしょうか?
>
> ShoppingSendMail のインスタンス属性を
> prototype にしてください.
>
> <component instance="prototype"
>    class="system.web.ShoppingSendMail" />
>
> ShoppingSendMail を使用する (DI される)
> コンポーネントを明示的に定義している場合は,
> それも prototype にしてください.
> Page など,SMART deploy で自動登録される
> コンポーネントで使っているなら大丈夫です.
>
>
> --
> <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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20080523/c55d78d0/attachment-0001.html>


Seasar-user メーリングリストの案内