<!-- 事务的定义 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<!-- ========================= 事务管理 ========================= -->
<!--
第一个 * —— 通配 任意返回值类型
第三个 * —— 通配 包下的任意class
第四个 * —— 通配 包下的任意class的任意方法
第五个 * —— 通配 方法可以有0个或多个参数
-->
<aop:config>
<aop:advisor pointcut="execution(* com.*.*..*DAO.*(..))" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="up*" />
<tx:method name="execute*" />
<tx:method name="save*" />
<tx:method name="add*" />
<tx:method name="modify" />
<tx:method name="del*" />
<tx:method name="remove*" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<!-- ========================= 事务管理 ========================= -->
<!--
第一个 * —— 通配 任意返回值类型
第三个 * —— 通配 包下的任意class
第四个 * —— 通配 包下的任意class的任意方法
第五个 * —— 通配 方法可以有0个或多个参数
-->
<aop:config>
<aop:advisor pointcut="execution(* com.*.*..*DAO.*(..))" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="up*" />
<tx:method name="execute*" />
<tx:method name="save*" />
<tx:method name="add*" />
<tx:method name="modify" />
<tx:method name="del*" />
<tx:method name="remove*" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>