您当前的位置: 首页 >  分布式

35分布式电商项目 - 注解式事务配置(运营商后台)

杨林伟 发布时间:2019-07-08 14:13:15 ,浏览量:2

项目已提交至Github 地址:https://github.com/ylw-github/pingyougou.git 版本:2646456bff33de6ccecb9a598b156fecef78abed

引出问题

编写单元测试,新增add 方法。

/**
* 增加
*/
@Override
public void add(Goods goods) {
	goods.getGoods().setAuditStatus("0");
	goodsMapper.insert(goods.getGoods()); //插入商品表
	int x=1/0;
	goods.getGoodsDesc().setGoodsId(goods.getGoods().getId());
	goodsDescMapper.insert(goods.getGoodsDesc());//插入商品扩展数据
	saveItemList(goods);//插入商品 SKU 列表数据
}

在插入商品表后,人为制造一个异常。我们运行程序,新增商品数据,观察运行结果。

通过观察,我们发现,程序发生异常 ,商品表仍然会存储记录,这是不符合我们要求的。这是因为我们目前的系统还没有配置事务。

配置事务 1.配置文件

在 pinyougou-sellergoods-service 工程的 spring 目录下创建 applicationContext-tx.xml



  
  
	  
  
  
 

2.在方法上添加注解
/**
* 服务实现层
* @author Administrator
*
*/
@Service
@Transactional
public class GoodsServiceImpl implements GoodsService{
........
}

经过测试,我们发现,系统发生异常,商品表不会新增记录,事务配置成功。

最后需要将所有涉及多表操作的服务类添加事务注解。

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 2浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0503s