码迷,mamicode.com
首页 > 编程语言 > 详细

spring 事务

时间:2018-08-19 23:26:18      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:新建   购物   oid   没有   ring   close   pac   nsa   管理   

简单示例:

1,spring 配置文件中配置事务,并开启

<!-- dbcp 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="org.gjt.mm.mysql.Driver" />
  <property name="url" value="jdbc:mysql://localhost:3306/weipai?useUnicode=true&amp;characterEncoding=UTF-8" />
  <property name="username" value="root" />
  <property name="password" value="WeiPai_111111" />
</bean>
    
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource" />
</bean>
<!-- 启用事务管理器 -->
<tx:annotation-driven transaction-manager="transactionManager" />

2,在方法上添加注解 @Transactional

// 添加注解就搞定了,如果这个方法产生异常就回滚
@Transactional
public void addCart() {
    // 库存 -1
    // 购物车 +1
}

事务的传播属性

REQUIRED:如果已经存在就使用当前事务,没有就新建,默认
REQUIRES_NEW:如果已经存在事务就挂起,当前方法会新开一个事务

@Transactional
public void checkAccountBalance() {
    // 获取用户余额
    // 获取商品价格
    // 如果用户余额大于商品价格,添加到购物车
    addCart();
}
    
@Transactional(propagation=Propagation.REQUIRED)
public void addCart() {
    // 库存 -1
    // 购物车 +1
}

事务的隔离级别

参见 springboot 事务和 mysql 事务隔离级别博文

 

spring 事务

标签:新建   购物   oid   没有   ring   close   pac   nsa   管理   

原文地址:https://www.cnblogs.com/huanggy/p/9503101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!