spring配置基于xml的声明式事务
<!-- 配置Spring的声明式事务管理 --> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 开启事务注解驱动 --> <!--<tx:annotation-driven transaction-manager="transactionManager"/>--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 其他方法需要事务 --> <tx:method name="*" propagation="REQUIRED" read-only="false"/> <tx:method name="get*" read-only="true" /> <tx:method name="query*" read-only="true" /> <tx:method name="find*" read-only="true" /> <!-- 新建事务,如果当前在事务中,就把当前事务挂起 --> <tx:method name="requiresNew*" propagation="REQUIRES_NEW"/> <!-- 以非事务的形式执行操作,如果当前存在事务,就把当前事务挂起 --> <tx:method name="notSupported*" propagation="NOT_SUPPORTED"/> </tx:attributes> </tx:advice> <aop:config> <aop:advisor id="tx" advice-ref="txAdvice" pointcut="execution(* com.alphajuns.service.impl.*.*(..))"/> <!-- 配置切入点表达式--> <!--<aop:pointcut id="pt1" expression="execution(* com.alphajuns.service.impl.*.*(..))"></aop:pointcut>--> <!--建立切入点表达式和事务通知的对应关系 --> <!--<aop:advisor advice-ref="txAdvice" pointcut-ref="pt1"></aop:advisor>--> </aop:config>