Spring事务知识实践
- Spring事务是基于JDBC事务实现
- 它拥有PlatformTransactionManager的一套接口
- 通俗点讲 就是数据库要支持事务 与Spring整合的框架也要支持事务
- 不仅可以在数据层 也可以在业务层进行事务管理
- 使用时要在方法上加@Transactional注解
- 一般@Transactional写在抽象方法上 表示该方法的重写实现方法都带有此注解
- @Transactional还可以写在类或者接口上 表示类成员方法都带有此注解
- 而且要配置事务管理器@Bean
- 事务管理器实现类为DataSourceTransactionManager
- 需要DataSourceBean依赖注入
- 最后告诉Spring开启了注解式事务驱动@EnableTransactionManagerment
@Transactional
@Bean
@EnableTransactionManagerment
- Spring事务角色 事务管理员+事务协调员
- 事务管理员一般是业务层
- 事务协调员一般是数据层
- Spring事务只有遇到Error和运行时异常才会回滚
- 事务传播行为是指事务协调员对于事务管理员的态度@Transactional中的propagation属性
- 事务传播行为有如下七点
Spring事务传播行为:都为Propagation的枚举属性1、required(默认属性)如果存在一个事务,则支持当前事务,如果没有事务,则开启一个新的事务2、Mandatory支持当前事务,如果当前没有事务,就抛出异常3、Never以非事务方式执行,如果当前存在事务,则抛出异常4、Not_supports以非事务方式执行操作,如果当前存在事务,把当前事务挂起5、requires_new新建事务,如果当前存在事务,则把当前事务挂起6、Supports支持当前事务,如果当前没有事务,就以非事务方式执行7、Nested支持当前事务,新增Savepoint点,与当前事务同步提交或者回滚
Spring事务知识实践相关推荐
- java事务设计iofo,Spring事务最佳实践
结论: 1. Spring事务不要用@Transaction(PS:如果用的话最好加到service层的方法上面而不要加到dao层.Controller层),会有一些情况导致事务回滚失败. 2. 最好 ...
- Spring事务7种传播行为速记方法
上图 关于spring事务完整的知识点可以看我的上一篇博客. Spring事务知识清单
- Spring事务管理知识概述
本文记录下Spring事务管理的主要内容. 文章目录 概述 事务回顾 事务的API介绍 PlatformTransactionManager接口 PlatformTransactionManager定 ...
- 布式事务实践 解决数据一致性 Spring事务机制
Spring事务机制 介绍Spring的事务机制.事物抽象.内部事务和外部事物,以及常用的几种事务管理的实现,包括DataSource.JPA.JMS.JTA都通过实例进行说明.还有XA以及两阶段提交 ...
- 一文带你看懂Spring事务!
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 前言 Spring事务管理我相信大家都用得很多,但可能仅仅局限于一个@Transactiona ...
- 一文带你认识Spring事务
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y Spring事务管理我相信大家都用得很多,但可能仅仅 ...
- Spring 事务管理
http://www.redsaga.com/spring_ref/2.0/html/transaction.html#transaction-declarative 9.1. 简介 Spring框架 ...
- 京东电话面:说说你对Spring事务传播属性的理解?
点击上方蓝色"java大数据修炼之道", 选择"设为星标" 每晚九点: 技术干货 ???? 必定奉上哈喽,各位新来的小伙伴们,大家好!由于公众号做了改版,为了保 ...
- 《Spring Web Flow 实践》
<Spring Web Flow 实践> 在<Spring In Action>这本书上的第八章介绍了Spring Web Flow的相关知识. 在<Spring In ...
- spring的事务隔离_再深一点:面试工作两不误,源码级理解Spring事务
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. Spring有5种隔离级别,7种传播行为.这是面试常问的内容,也是代码中经常碰到的知识点.这些知识枯燥而且乏味,其中有些非 ...
最新文章
- HDU 1261 字串数
- 重磅!阿里巴巴和全球最大奢侈品电商YNAP成立合资公司
- C语言基于GTK+Libvlc实现的简易视频播放器(二)
- XCTF-高手进阶区:i-got-id-200
- winston log 库如何创建 custom logger
- 项目NABCD的分析
- hive中导入text文件遇到的坑
- java php js_【javascript/PHP】当一个JavaScripter初次进入PHP的世界,他将看到这样的风景...
- linux内核兼容性,各种glibc和Linux内核版本的兼容性
- 上海电力学院计算机组成与结构试卷,上海电力学院试卷及成绩管理办法
- spider_使用随机User-Agent库, 爬取笔趣阁万古天帝章节目录_(fake_useragent)
- 使用MacClean在Mac上释放磁盘空间的教程
- java+编辑距离自动机_编辑距离,重叠,组装算法和python程序.pptx
- php redis 里面的hscan 第四个参数count很不靠谱
- C#调用电脑的默认图片浏览器软件打开图片
- python打字案例,Python 小案例 打字练习
- 基于A*启发式搜索解决迷宫问题
- YOLOv3源码解析1-代码整体结构
- python locust学习笔记
- NEW RDSP MODE I (模拟,循环节)