<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocations">
<list>
<value>classpath:ibatis/sql-map-config.xml</value>
</list>
</property>
<property name="useTransactionAwareDataSource">
<value>true</value>
</property>
<property name="dataSource" ref="dataSource" />
</bean>
<!-- Transaction manager for a single JDBC DataSource -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="abstractTxDefinition" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="clear*">PROPAGATION_REQUIRED</prop>
<prop key="rename*">PROPAGATION_REQUIRED</prop>
<prop key="move*">PROPAGATION_REQUIRED</prop>
<prop key="import*">PROPAGATION_REQUIRED</prop>
<prop key="set*">PROPAGATION_REQUIRED</prop>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="store*">PROPAGATION_REQUIRED</prop>
<prop key="import*">PROPAGATION_REQUIRED</prop>
<prop key="request*">PROPAGATION_REQUIRED</prop>
<prop key="approve*">PROPAGATION_REQUIRED</prop>
<prop key="start*">PROPAGATION_REQUIRED</prop>
<prop key="execute*">PROPAGATION_REQUIRED</prop>
<prop key="*confirm*">PROPAGATION_REQUIRED</prop>
<prop key="*report*">PROPAGATION_REQUIRED</prop>
<prop key="*save*">PROPAGATION_REQUIRED</prop>
<prop key="redraft*">PROPAGATION_REQUIRED</prop>
<prop key="report*">PROPAGATION_REQUIRED</prop>
<prop key="apporove*">PROPAGATION_REQUIRED</prop>
<prop key="reject*">PROPAGATION_REQUIRED</prop>
<prop key="redraft*">PROPAGATION_REQUIRED</prop>
<prop key="accept*">PROPAGATION_REQUIRED</prop>
<prop key="copy*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED</prop>
<prop key="eval*">PROPAGATION_REQUIRED</prop>
<prop key="multi*">PROPAGATION_REQUIRED</prop>
<prop key="handle*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_SUPPORTS, readOnly</prop>
</props>
</property>
</bean>
<!-- DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<!-- <property name="driverClassName" value="com.p6spy.engine.spy.P6spyDriver" /> -->
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>