参考文档
Spring Framework 中文文档 - 17. Transaction Management | Docs4dev
方法一:xml配置
案例:
<!--配置声明式事务-->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>
<!--配置事务规则-->
<tx:advice id="transactionInterceptor" transaction-manager="txManager">
<!--配置事务属性-->
<tx:attributes>
<!--
name方法名
-->
<tx:method name="transfer" rollback-for="java.lang.Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!--声明切入点-->
<aop:pointcut id="pointcut1" expression="execution(* com.zhang.service.impl.UserImpl.transfer(..))"/>
<!--配置事务,将切入点和事务绑定在一起-->
<aop:advisor advice-ref="transactionInterceptor" pointcut-ref="pointcut1"></aop:advisor>
</aop:config>
2,注解方式
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- (this dependency is defined somewhere else) -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!--加载事务注解驱动-->
<tx:annotation-driven transaction-manager="txManager"/>