博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring 事务
阅读量:6857 次
发布时间:2019-06-26

本文共 1280 字,大约阅读时间需要 4 分钟。

大纲:

  1. 声明式事务
  2. 编程式事务

一、声明式事务

纳入spring事务管理只需要在方法或这类上@Transactional 就行了。

  1. 加在方法上表示这个方法纳入管理,加载类上表示整个类的方法纳入管理。方法和类上都声明则优先级顺序为方法>实现类>接口。
  2. 多数据源时@Transactional("DataSourceTransactionManager")注解中填写spring配置DataSourceTransactionManager的名称。
  3. @Transactional还可以指定隔离级别,超时等。
  4. 同类中yy方法直接调用xx,事务不生效。
  5. xx方法需要public权限。
  6. 抛出RuntimeException时生效,业务代码1没有编译时异常,可以生效,业务代码2有编译时异常,需要手动catch,手动回滚。
@Transactionalpublic void xx(){
  业务1; try { 业务2; } catch (Exception e) { //回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); }} private void yy(){
  //事务无效   xx(); }

 

二、编程式事务

PlatformTransactionManager

  1. DefaultTransactionDefinition指定超时,隔离级别等。
  2. 多数据源需要Qualifierspring指定配置DataSourceTransactionManager的名称。
  3. 声明式的不能做到每次分开提交回滚、控制粒度不如编程式的。例如在一个循环中,编程式的可以每次循环都新开事务提交或回滚。
@Autowired    @Qualifier("transactionManagerName")    PlatformTransactionManager transactionManager;    public void testx() {        TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());        try {            //业务            transactionManager.commit(status);        } catch (Exception e) {            transactionManager.rollback(status);            e.printStackTrace();        }    }

 

转载于:https://www.cnblogs.com/liuboyuan/p/8575994.html

你可能感兴趣的文章
Python类和元类(metaclass)的理解和简单运用
查看>>
也谈基于NodeJS的全栈式开发
查看>>
《Android应用开发攻略》——1.13 从模拟器/Android设备获得屏幕截图
查看>>
东芝财务造假丑闻发酵 遭投资者索赔1.6亿美元
查看>>
揭秘太空舱舱门快速检漏仪:采用高精度压力传感器检测技术
查看>>
我国光伏产业展现巨大发展前景
查看>>
英国电信和毕马威发布网络安全报告,强调网络安全陷阱问题
查看>>
iPhone 这几个拍照功能,据说 80% 的人都不知道
查看>>
呼叫中心管理成功的几大注意事项
查看>>
Dridex木马如何进行重定向攻击?
查看>>
《新编计算机科学概论》一0.3 计算机与社会
查看>>
“十三五”光伏行业将迎高速增长期 重点推动10方面工程
查看>>
中科院计算所开源Easy Machine Learning系统,用交互式图形界面简化ML开发过程
查看>>
专访陈孝良:智能音箱厂商很难逃脱为巨头打工的命运丨CCF-GAIR 2017
查看>>
如何用云计算模式,实现生物信息分析 | 硬创公开课
查看>>
焦烈焱|数字化经济时代
查看>>
《企业软件交付:敏捷与高效管理精要》——2.7 述评
查看>>
SCRM和传统的营销CRM到底有什么区别呢?
查看>>
《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——3.3 MRP结果评估概览...
查看>>
Facebook承诺为普通市民提供1500套住房
查看>>