http://www.masatom.in/pukiwiki/?cmd=read&page=Java%2FSeasar2&word=seasar
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>