转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/76944932,建议读者阅读原文,确保获得完整的信息
一、使用场景
在使用事务管理前,有必要先了解下应用场景。如实际过程中一个购买操作包含多个执行过程:查询库存、下单、更新库存,实际操作时,由于高并发存在,可能到下单结束时,更新库存出错,那本次购买操作就是失败的,其下单结果应该被回滚。这种情况就需要引入事务控制,保证整个操作的有效性。
二、配置方法
(1)配置applicationContext.xml
<!-- 事务管理器 -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 事务注解驱动,标注@Transactional的类和方法将具有事务性 -->
<tx:annotation-driven transaction-manager="txManager"/>
(2)给具体业务方法添加注解
public class TestService {
@Transactional("txManager")
public void buy(){
AuthenticationMapper authenticationMapper = MyApplicationContextUtil.getBean("authenticationMapper"