经过前面十八个章节的浅析,我们已经初步了解了Spring框架的左膀右臂IoC和AOP,今天我们开始一起分析一下Spring的事务~

首先,今天算是开篇介绍~先说一下,什么是事务,事务是数据库的比较特有的属性,这也是数据库区别于文件系统的区别(HDFS貌似没有事务吧),也就是文件系统与数据库系统最大的不同吧,事务就是将数据库从一个一致性状态成功的转化成另一个一致性状态,说白了就是我们在操作数据库的一段业务逻辑中,要么全部成功提交,要么就全部失败,这就是事务的定义

数据库事务的四大特性

数据库的隔离级别:

(这边不做隔离级别的分析,可以参考一下http://blog.csdn.net/linuu/article/details/50790858)

说到这里,有些人觉得不对,因为大家觉得还有一个叫做Spring事务传播,如果配置REQUIRED+NOT_SUPPORT这样的传播属性的时候,的确可以部分提交成功,部分提交失败,其实这并不矛盾,因为Spring的事务传播只是定义了一个事务的原子性(一个事务管理的范围),并没有违反事务一致性的特性,事务只是保证在一个原子阶段(该阶段就是一个整体,无法再切割,无法再分)在这个基础上事务保证一致性

抛开Spring,数据库应该说是没有事务传播的说法的~

并不是所有的数据库都是支持ACID这四个特性的,举例来说 Mysql数据库 不同的存储引擎对数据库的事务支持都是不一样的,目前最流行的INNODB存储引擎就是支持事务的,而过去流行的存储引擎Myisam就是不支持的

MYSQL INNODB事务的实现原理:

事务是依靠redo日志和undo日志.redo日志,看其名字就知道表示“即将要做”的事,这个用来保证事务的原子性和一致性,undo日志是用来记录数据原有的状态的日志,用来回滚的

浅析Spring 事务(十九) 简介事务相关推荐

  1. Spring(十九):Spring AOP(三):切面的优先级、重复使用切入点表达式

    背景: 1)指定切面优先级示例:有的时候需要对一个方法指定多个切面,而这多个切面有时又需要按照不同顺序执行,因此,切面执行优先级别指定功能就变得很实用. 2)重复使用切入点表达式:上一篇文章中,定义前 ...

  2. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式...

    目录: 一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务 ...

  3. (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用

    http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html 微服务的特点决定了功能模块的部署是分布式的,大部分功能 ...

  4. 浅析Spring事务传播行为和隔离级别

    7个传播行为.4个隔离级别. Spring事务的传播行为和隔离级别[transaction behaviorand isolatedlevel] Spring中事务的定义: Propagation(k ...

  5. 浅析Spring事务实现原理

    SQL事务实现简介 ​ 首先我们来了解下,最简单的事务是怎么实现的呢?以JDBC为例,当一个数据库Connection对象创建后,其会默认自动提交事务:每次执行SQL语句时,如果成功,就会向数据库自动 ...

  6. SQL Server-聚焦事务、隔离级别详解(二十九)

    前言 事务一直以来是我最薄弱的环节,也是我打算重新学习SQL Server的出发点,关于SQL Server中事务将分为几节来进行阐述,Always to review the basics. 事务简 ...

  7. 【Spring学习笔记 九】Spring声明式事务管理实现机制

    什么是事务?事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用,关乎数据准确性的地方我们一定要用到事务,防止业务逻辑出错. 什么是事务管理,事务管理对于企业应用而言至 ...

  8. spring(三)之事务、事务管理器(TransactionManager)简介及实现事务的4种方式

    1.事务 一组业务ACID操作,要么全部成功,要么全部不成功. 事务特性:①原子性,针对整体而言(一个事务不可以被拆分):②一致性,针对数据而言(一个事务执行之前和执行之后必须处于一致性状态,一个事务 ...

  9. java 分布式事务_Java核心知识 Spring原理十五 JPA 原理

    1. 事务 事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity ).一致性 ( Consistency ).隔离性 ( Isolation ) 和持久性 ( Dur ...

最新文章

  1. python处理excel表格教程-python操作excel(内附python教程分享)
  2. Summation Order
  3. 申请美国计算机科学,美国计算机科学(Computer Science)申请条件
  4. docker nginx配置_docker随手笔记第十二节 jenkins+docker+nginx+纯静态页面配置
  5. 会员按天统计、日分时统计
  6. 【JEECG dubbo专题】Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
  7. Memcache学习笔记
  8. MongoDB 最大连接数 设置失效的异常分析
  9. uni-app android白屏,uniapp页面跳转出现白屏怎么办
  10. 图像局部特征(九)--斑点检测LOG算子
  11. Ubuntu16.04安装python3.6导入requests/aiohttp/httpx等网络请求模块报错ModuleNotFoundError: No module named ‘_ssl‘
  12. 基于javaweb的订餐管理系统的设计与实现 毕业设计毕设参考
  13. 注册测绘师20180301-测绘基准
  14. VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法
  15. 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储
  16. 100ask imx6ull开发板移植NXP官方UBOOT
  17. Django部署服务器
  18. 10 大白帽黑客专用的 Linux 操作系统
  19. 云原生中间件RocketMQ-核心原理之高可用机制
  20. 计算机在材料化学中的应用大纲,材料化学-《材料研究方法》课程教学大纲

热门文章

  1. 把一个对象的key全部换成大写/小写
  2. 数字金融新型基础设施---金融产业数字化能力引擎
  3. (翻译)W3C的Turtle文档
  4. linux 自动化gpg,使用gpg工具实现公钥加密
  5. iOS调取本地相册成功之后,显示的相册英文名称变成中文的解决方法
  6. 【石头和爸爸】计算机
  7. 《失恋33天》励志一生
  8. 赛尔号什么时候支持html5,赛尔号h5互通版
  9. JAVA以窗体的形式猜拳_Java开发实现猜拳游戏
  10. excel vba 入门语句精选