美文网首页轻量化框架技术
第五章 Spring的事务管理

第五章 Spring的事务管理

作者: Y_Jaaao | 来源:发表于2020-04-03 17:51 被阅读0次

    事务的核心接口

    事务管理的核心接口
    PlatformTransactionManager接口(spring提供的平台事务管理器)
    • 主要用于管理事务,该接口提供了三个事务操作的方法


      三个事务操作的方法
    • PlatformTransactionManager接口只是代表事务管理的接口,并不知道底层如何管理事务,具体如何管理事务是由它的实现类来完成,该接口常见的实现类,如下:


      常见的实现类
    TransactionDefinition接口(事务定义/描述的对象)
    • 该对象中定义了事务规则,并提供了获取事务相关信息的方法


      获取事务信息方法
    • 上述方法中,事务的传播行为是指在同一个方法中,不同操作前后所使用的事务。传播行为有很多种,如下表


      传播行为
    • 如果没有指定事务的传播行为,Spring默认传播行为是REQUIRED
    • 在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务。通常情况下,数据的查询不会影响原数据的改变,所以无需进行事务管理,而对于数据的插入、删除、更新操作,必须进行事务管理。
    TransactionStatus接口(事务的状态)
    • 描述了某个时间点事务的状态信息。该接口含6个方法,如:


      TransactionStatus接口的方法

    基于XML方式的声明式事务

    • 其声明是在配置文件中通过<tx:advice>元素配置事务规则来实现的。当配置了事务的增强处理后,就可以通过编写的AOP配置,让spring自动对目标生成代理。
    • 配置<tx:advice>元素的重点是<tx:method>子元素
      <tx:advice>元素及其子元素 (灰色部分是<tx:method>常用属性)
      属性描述

    基于Annotation方式的声明式事务

    • 1.在Spring容器中注册事务注解驱动;
      <tx:annotation-driven transaction-manager="transactionManager">
    • 2.在需要事务管理的类/方法上使用@Transaction注解;
      如果将注解添加到bean类上,则表示事务的设置对整个bean类的所有方法都起作用
      如果将注解添加到bean类中的某个方法上,则表示事务的设置只对该方法有效


      通过参数配置事务

    相关文章

      网友评论

        本文标题:第五章 Spring的事务管理

        本文链接:https://www.haomeiwen.com/subject/xtphphtx.html