加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

Spring事务传播属性有那么难吗?看这一篇就够了

发布时间:2019-10-26 22:28:54 所属栏目:建站 来源:佚名
导读:副标题#e# 笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 学习东西要知行合一,如果只是知道理论而没实践过,那么掌握的也不会特别扎实,估计过几天就会忘记,接下来我们一起实践来学习Spring事务的传播属性。 传播属性 传播属性定义的是当一个事

此传播属性下,无论调用者是否有事务,被调用者都会新建一个事务

  •  第一种情况:调用者无事务,被调用者会新建事务,所以查不到数据
  •  第二种情况:调用者有事务,被调用者会新建一个事务,所以调用者抛异常影响不到被调用者,所以能查到数据

接下来我们演示代码。

被调用者

  1. // REQUIRES_NEW传播属性-被调用者有异常抛出  
  2. @Override  
  3. @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)  
  4. public void testRequiresNewHasException() throws RollbackException {  
  5.     jdbcTemplate.execute("INSERT INTO FOO (BAR) VALUES ('"+Global.REQUIRES_NEW_HAS_EXCEPTION+"')");  
  6.     throw new RollbackException(); 
  7. }  
  8. // REQUIRES_NEW传播属性-被调用者无异常抛出  
  9. @Override  
  10. @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)  
  11. public void testRequiresNewNoException() throws RollbackException {  
  12.     jdbcTemplate.execute("INSERT INTO FOO (BAR) VALUES ('"+Global.REQUIRES_NEW_NO_EXCEPTION+"')");  

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读