[Seasar-user:9814] Re: [Seasar2 + S2Dao]helper パッケージについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 8月 9日 (木) 03:00:26 JST
小林 (koichik) です.
なんか微妙に間違いが多かったので事故^h^h自己レス.
Date: Wed, 08 Aug 2007 20:00:56 +0900
From: Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9807] Re: [Seasar2 + S2Dao]helper パッケージについて
> * Helperクラス
> public class WarekiHelper {
>
> private static final WarekiHelper instance = new
> WarekiHelper();
>
> public static WarekiHelper getInstance(){
> return instance;
> }
これだと WarekiHelper は S2Container から
取得されていないので,何も DI されません.
Helper も S2Container から DI されるように
してください.
具体的には,上記の static フィールドと
getInstance() メソッドは削除して,Page クラスの
> private static final WarekiHelper Wareki =
> WarekiHelper.getInstance();
>
> public void setWarekiDate(String warekiDate) {
> this.warekiDate = warekiDate;
> }
を
private WarekiHelper warekiHelper;
public void setWarekiHelper(WarekiHelper warekiHelper) {
this.warekiHelper = warekiHelper);
}
public String getWarekiDate() {
warekiDate = warekiHelper.getWareki(getCheckDate());
return warekiDate;
}
としてください.
DI コンテナを使うと,シングルトンパターンを
使う必要はほとんどありません.
なお,Page クラスにはトランザクションを
設定してください.
設定方法は以下の「トランザクション制御を設定する」−
「ページのコンポーネントに適用する場合」を参照してください.
http://s2container.seasar.org/2.4/ja/DIContainer.html#CustomizerConfigExample
--
<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 メーリングリストの案内