prototypeが今までのnewで作成するのと近い
http://s2container.seasar.org/2.4/ja/DIContainer.html#InstanceMode
http://s2container.seasar.org/2.4/ja/ognl.html
org.seasar.framework.container.IllegalAutoBindingPropertyRuntimeException: [ESSR0080]クラスSomeClassのプロパティ(hogew)の自動設定に失敗しました
プロパティ名とクラス名があってないと上記Exceptionがでる。 あとActionとService以外でAutoBindingを使うとこのエラーが出る。ちゃんとdiconに登録すること
コンポーネント検索元をファイルシステム、JAR、その両方に設定できる。
切替
s2container.diconを変更する。
<include condition="#ENV == 'ut'" path="warmdeploy.dicon"/>
スーパアジャイルの略。設定ファイル不要でS2Strutsの後発ながら注目度抜群。
3.4.1を日本語化して、Tomcatプラグインを入れたものにダウンロード&解凍したものをインポートする。
publicフィールドとActionFormは併用可能。両方に同名フィールドがあった場合はpublicフィールドが優先されるようだ。ただしnullだった場合は使われない。 インプットの場合はpublicフィールドは無視されて、常にActionFormに入る。
SAStrusよりも前に出ている分ちと使いづらい点が目立つ。
Sample.doで呼び出すとすると
Action | SampleActionImpl |
Service(Logic) | SampleServiceImpl |
DTO(ActionForm) | SampleDTO |
JSP(html) | sample.jsp |
データソースの定義はj2ee.diconに
<component name="xaDataSource" class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> <property name="driverClassName"> "org.postgresql.Driver" </property> <property name="URL"> "jdbc:postgresql://rutake.ddo.jp:5432/hellodb" </property> <property name="user">"xxxxxx"</property> <property name="password">"xxxxxx"</property> </component>
// TODO あとで削除 SqlLogRegistry sqlLogRegistry = SqlLogRegistryLocator.getInstance(); SqlLog sqlLog = sqlLogRegistry.getLast(); System.out.println(sqlLog.getCompleteSql());