HappyHeng 2020-03-07
<!-- 配置声明式事务--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <constructor-arg ref="dataSource"/> </bean> <!-- 结合AOP实现事务的植入--> <!-- 配置事务的类--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!-- 配置事务的传播特性 propagation 传播--> <tx:attributes> <tx:method name="add" propagation="REQUIRED"/> <tx:method name="update"/> <tx:method name="delete"/> <tx:method name="*"/> </tx:attributes> </tx:advice> <!-- 配置事务切入--> <aop:config> <aop:pointcut id="txPointCut" expression="execution(* cn.imut.mapper.*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/> </aop:config>
spring事务传播特性:
事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播。spring支持7种事务传播行为:
Spring 默认的事务传播行为是 PROPAGATION_REQUIRED,它适合于绝大多数的情况。
为什么需要配置事务?