zoukankan      html  css  js  c++  java
  • Spring事务管理

    1.什么是事务

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

    2.事物的特性

     1.原子性<br>指的是事物是一个不可分割的部分,要么都发生。要么都不发生

     2.隔离性   多个并发事务之间数据要相互隔离

     3.一致性   事务处理前后数据的完整性必须保持一致

     4.持久性  一个事务被提交之后。它对数据库中数据的改变是持久的

    3.Spring事物管理常用的3个接口:

     

    4.Spring为不同的持久层框架提供不同的PlatformTransactionManager(接口)的实现

    5.如果不考虑隔离。会引发的问题:
    1.脏读。
    一个事务读取了另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。
    2.不可重复读。
    在同一个事务中,多次读取同一数据返回的结果有所不同。
    3.幻读。
    一个事务读取了几行记录后,另一个事务插入一些记录,幻读就发生了。再后来的查询中,第一个事务就会发现有些原来没有的记录。
    
    MySQL默认事务隔离级别:REPATABLE_READ(可能出现幻读)
    Oracle默认:READ_COMMITTED(可能出现不可重复读和幻读)
    6.事务的传播行为:解决业务层方法之间相互调用 的问题:



    7.事务的传播行为,重点记住红色的3个。


    8.Spring支持两种方式事务管理:


    9.声明式事务管理方式二:基于AspectJ的XML方式
    配置步骤:1.事物管理器
              2.增强(就是配置通知)
              3.AOP配置

    10.声明式事务管理方式三:基于注解的方式

      1.applicationContext.xml里配置事物管理器和开启注解方式
      2.业务层写上注解@transactional
      3.@transactional(这当中可以配置传播行为,隔离级别等内容)

    11.Spring事物管理的分类和各方式的区别:


    12.
    applicationContext.xml中引入外部文件、连接池的配置、bean的配置



    13.声明式事务管理方式一:基于TransactionProxyFactoryBean的方式
    prop格式,key代表方法,实际开发中可能就是key="save*",key="update*"

    
    
     
     
    
    
    
     
    
    
    
    
    
     
     
     
    
    
    
     
     

     

     

    
    
     
     
  • 相关阅读:
    javascript 将中文符号转换成英文符号
    js 函数定义的2种方式
    javascript 面向对象编程(工厂模式、构造函数模式、原型模式)
    10.2.0.4 to 10.2.0.5 Installation of Patch Set Release (Windows)
    流接口驱动程序的工作原理和开发步骤嵌入式
    android开发面试题
    ORACLE-014:oracle中查看DBLinkpassword
    Java相关知识(一)
    Android 中模仿 Twitter 实现 Toolbar Indicator
    使用excel进行数据挖掘(3)----类别检測
  • 原文地址:https://www.cnblogs.com/jiliunyongjin/p/7299675.html
Copyright © 2011-2022 走看看