seasar一般性配置:

diconファイル。 †

さてSeasar はSpringとちがってできるだけxmlを書かずに自動化(Coc:Convention over Configuration:設定より規約)する思想で作られてるようで、先のインタフェースHogeService? と実装 HogeServiceImpl? も自動的にコンテナから取得することができました。

ちなみにDoltengをつかうといくつかのxmlファイル(*.dicon)が自動で作成されています。見てみると

app.dicon

<components>

  <include path="convention.dicon"/>

  <include path="aop.dicon"/>

</components>convention.dicon

<components>

 <component class="org.seasar

.framework.convention.impl.NamingConventionImpl">

  <initMethod name="addRootPackageName">

   <arg>"nu.mine.kino.s2sample"</arg>

  </initMethod>

 </component>

</components>说明: 在注入模块时候,根目录需要注入,如上面的:nu.mine.kino.s2sample

另外只注入自己的业务模块,注入实现接口的类目录而不是接口目录。有多少就在

component里面添加多少。creator.dicon

<components>

  <include path="customizer.dicon"/>

  <include path="convention.dicon"/>

  <component name="actionCreator" class="org.seasar

.framework.container.creator.ActionCreator"/>

  <component name="converterCreator" class="org.seasar

.framework.container.creator.ConverterCreator"/>

  <component name="daoCreator" class="org.seasar

.framework.container.creator.DaoCreator"/>

  <component name="dtoCreator" class="org.seasar

.framework.container.creator.DtoCreator"/>

  <component name="dxoCreator" class="org.seasar

.framework.container.creator.DxoCreator"/>

  <component name="helperCreator" class="org.seasar

.framework.container.creator.HelperCreator"/>

  <component name="interceptorCreator" class="org.seasar

.framework.container.creator.InterceptorCreator"/>

  <component name="logicCreator" class="org.seasar

.framework.container.creator.LogicCreator"/>

  <component name="pageCreator" class="org.seasar

.framework.container.creator.PageCreator"/>

  <component name="serviceCreator" class="org.seasar

.framework.container.creator.ServiceCreator"/>

  <component name="validatorCreator" class="org.seasar

.framework.container.creator.ValidatorCreator"/>

</components>这个文件根据命名规则,去设置自动识别类。也可以指定注入类的生命周期。

customizer.dicon

<components>

  <include path="default-customizer.dicon"/>

</components>hotdeploy.dicon

<components>

  <include path="convention.dicon"/>

  <include path="customizer.dicon"/>

  <include path="creator.dicon"/>

  <component class="org.seasar

.framework.container.hotdeploy.HotdeployBehavior"/>

</components>    コイツはs2-framework-2.4.34.jar に入ってる s2container.dicon

<components>

  <include condition="#ENV == 'ut'" path="warmdeploy.dicon"/>

  <include condition="#ENV == 'ct'" path="hotdeploy.dicon"/>

  <include condition="#ENV != 'ut' and #ENV != 'ct'" path="cooldeploy.dicon"/>

</components>不用数据库的话上面的配置就够了。

数据库:

dao.dicon

<components>

    <!-- データソース毎のdao.dicon -->

    <include path="dao-test.dicon" />

    <include path="dao-true.dicon" />

         .......................

</components>