Sesar2 Dao実体化を2段階に分けるdiconファイル

メモ

                                                                                      • -


<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">

<components namespace="dao">
<!-- デフォルトのdao.diconを転記 ここから-->
<include path="j2ee.dicon"/>
<component class="org.seasar.dao.impl.AnnotationReaderFactoryImpl"/>
<component class="org.seasar.dao.impl.DaoMetaDataFactoryImpl"/>
<component
name="interceptor"
class="org.seasar.dao.pager.PagerS2DaoInterceptorWrapper">
<arg>
<component class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
</arg>
</component>
<component class="org.seasar.dao.impl.ValueTypeFactoryImpl"/>
<component name="stringClobType">
@org.seasar.dao.types.ValueTypes@CLOB
</component>
<component class="org.seasar.dao.impl.BeanMetaDataFactoryImpl"/>
<component class="org.seasar.dao.impl.DaoNamingConventionImpl"/>
<component class="org.seasar.dao.impl.NullBeanEnhancer"/>
<component class="org.seasar.dao.impl.ResultSetHandlerFactorySelector"/>
<component class="org.seasar.dao.impl.DtoMetaDataFactoryImpl"/>
<component class="org.seasar.dao.impl.PropertyTypeFactoryBuilderImpl"/>
<component class="org.seasar.dao.impl.RelationPropertyTypeFactoryBuilderImpl"/>
<component class="org.seasar.dao.impl.DefaultTableNaming"/>
<component class="org.seasar.dao.impl.DefaultColumnNaming"/>
<component class="org.seasar.dao.impl.ProcedureMetaDataFactoryImpl"/>

<!-- デフォルトのdao.diconを転記 ここまで-->

<component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
<property name="autoNaming">
<component class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
</property>
<initMethod name="addClassPattern">
<arg>"hoge"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>

<!-- SqlCheckInterceptorを適用 -->
<component name="sqlCheckInterceptor" class="hoge.common.interceptor.SqlCheckInterceptor"/>

<!-- TrimInterceptorを適用 -->
<component name="trim" class="hoge.common.interceptor.TrimInterceptor"/>

<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">dao.interceptor</property>
<initMethod name="addClassPattern">
<arg>"hoge.common.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>


<!-- Dao実行時ではなくActionImpi実行時に処理するため actionimpl.dicon に移動 -->
<!-- LogTableInterceptorを適用 -->
<!-- <component name="logTableInterceptor" class="hoge.common.interceptor.LogTableInterceptor"/> -->
<!--
<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">logTableInterceptor</property>
<initMethod name="addClassPattern">
<arg>"hoge.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component> -->

<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">sqlCheckInterceptor</property>
<initMethod name="addClassPattern">
<arg>"hoge.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>

<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">dao.interceptor</property>
<initMethod name="addClassPattern">
<arg>"hoge.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>


</components>