首页 > 其他分享 >spring-事务概述

spring-事务概述

时间:2022-10-19 16:03:58浏览次数:49  
标签:事务 读取 幻读 spring 并发 概述 Spring 数据


目录

​Spring事务架构​


​事务特性​

​并发事务下存在的几个安全性问题​

​脏读​

​不可重复读​

​幻读​

​事务的隔离级别​

​事务传播特性​

 

​Spring事务常用的类和接口​

​Spring中使用事务的套路​

​容器中注册事务相关组件​

​createBean时生成代理对象,并注册到容器​

​调用代理Bean的相关方法时​


Spring事务架构

 

事务特性

事务是指逻辑上的一组操作,这组操作要么全部成功,要么全部失败;

事务的特性:

1:原子性

    是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生;

2:一致性

   是指事务前后,数据的完整性必须保持一致;

3:隔离性

   是指多个用户并发操作数据时,一个用户的事务不能被另一个用户的事务干扰,多个并发事务之间数据要相互隔离;

4:持久性

  是指数据一旦被提交,它对数据库中数据的改变是永久性的,即使数据库发生了故障,也不应该对其有任何影响;

 

并发事务下存在的几个安全性问题

脏读

一个事务读取了另外一个事务修改但是还未提交的数据,如果这些数据被回滚,那么读取到的数据是无效的;

不可重复读

同一事务中,多次读取同一数据,返回的结果不同

幻读

一个事务读取了几行记录后,另一个事务插入了一些数据,那么幻读就发生了;

 

事务的隔离级别

spring-事务概述_spring事务

 

事务传播特性

在类TransactionDefinition中定义;

spring-事务概述_spring事务_02

Spring事务常用的类和接口

spring-事务概述_数据_03

 

Spring中使用事务的套路

容器中注册事务相关组件

spring-事务概述_spring事务_04

 

createBean时生成代理对象,并注册到容器

 

调用代理Bean的相关方法时

主要是Spring AOP起作用;

spring-事务概述_spring_05

越努力,越幸运,欢迎关注我的个人技术公众号


标签:事务,读取,幻读,spring,并发,概述,Spring,数据
From: https://blog.51cto.com/woshisap/5775592

相关文章

  • Mysql嵌套事务
    部分回滚--格式化TRUNCATEdemo_transaction;--开启事务BEGIN;--插入一条数据INSERTINTO`demo_transaction`(id)VALUES(1);--开启SAVEPOINTSAVEPOINT......
  • A调用B方法,@Transactional事务问题
    总结:方法A调用方法B:1、如果只有A加@Transactional注解;则AB在同一事务中,任意异常都回滚;2、如果只有B加@Transactional注解;AB方法为同一类,事务失效任意异常都不回滚;AB不同类......
  • 一文搞懂Undo Log版本链与ReadView机制如何让事务读取到该读的数据
     在MySQL的数据表中,存储着一行行的数据记录,对每行数据而言,不仅仅记录着我们定义的字段值,还会隐藏两个字段:row_trx_id和roll_pointer,前者表示更新本行数据的事务id......
  • 爬虫-1.概述和HTTP请求与响应处理
    爬虫-1.概述和HTTP请求与响应处理概述爬虫,应该称为网络爬虫,也叫网页蜘蛛、网络机器人、网络蚂蚁等。搜索引擎,就是网络爬虫的应用者。大数据时代的到来,所有企业都希望通过海......
  • SpringBoot 启动参数及vm参数获取
    @AutowiredprivateApplicationArgumentsapplicationArguments;@AutowiredprivateApplicationContextapplicationContext;main方法通过Appl......
  • Spring Boot 中实现跨域的 5 种方式
    一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能......
  • 事务的四大特征以及事务隔离级别介绍
    事务的四大特征1.原子性:不可分割最小操作单位,要么同时成功,要么同时失败2.持久性:当事务提交或回滚后,数据库会持久化的保存数据3.隔离性:事务之间相互独立,互不影响,但是隔......
  • 深入剖析Redis系列:Redis数据结构与全局命令概述
    前言Redis提供了5种数据结构。理解每种数据结构的特点,对于Redis的 开发运维 非常重要,同时掌握Redis的 单线程命令处理 机制,会使 数据结构 和 命令 的选择事......
  • Spring日志打印配置
    日志打印配置示例:<?xmlversion="1.0"encoding="UTF-8"?><!--Copyright2010-2011ThemyBatisTeamLicensedundertheApacheLicense,Version2.0(the"Lice......
  • JPA入门学习集合springboot(一)
    1、在pom.xml文件中添加相应依赖SpringDatajpa和数据库MySql<!--SpringDataJPA依赖(重要)--><dependency><groupId>org.springframework.boo......