美文网首页
Spring事务管理的三个接口

Spring事务管理的三个接口

作者: 暮秋moco | 来源:发表于2020-03-06 22:15 被阅读0次

Spring 的事务管理是基于 AOP 实现的,而 AOP 是以方法为单位的。Spring 的事务属性分别为传播行为、隔离级别、只读和超时属性,这些属性提供了事务应用的方法和描述策略。
在 JavaEE 开发经常采用的分层模式中,Spring 的事务处理位于业务逻辑层,它提供了针对事务的解决方案。
在 Spring 解压包的 libs 目录中,包含一个名称为 spring-tx-3.2.13.RELEASE.jar 的文件,该文件是 Spring 提供的用于事务管理的 JAR 包,其中包括事务管理的三个核心接口:PlatformTransactionManager、TransactionDefinition 和 TransactionStatus。

  1. PlatformTransactionManager

PlatformTransactionManager 接口是 Spring 提供的平台事务管理器,用于管理事务。该接口中提供了三个事务操作方法,具体如下。

  • TransactionStatus getTransaction(TransactionDefinition definition):用于获取事务状态信息。
  • void commit(TransactionStatus status):用于提交事务。
  • void rollback(TransactionStatus status):用于回滚事务。

在项目中,Spring 将 xml 中配置的事务详细信息封装到对象 TransactionDefinition 中,然后通过事务管理器的 getTransaction() 方法获得事务的状态(TransactionStatus),并对事务进行下一步的操作。

  1. TransactionDefinition
    TransactionDefinition 接口是事务定义(描述)的对象,它提供了事务相关信息获取的方法,其中包括五个操作,具体如下。
  • String getName():获取事务对象名称。
  • int getIsolationLevel():获取事务的隔离级别。
  • int getPropagationBehavior():获取事务的传播行为。
  • int getTimeout():获取事务的超时时间。
  • boolean isReadOnly():获取事务是否只读。

在上述五个方法的描述中,事务的传播行为是指在同一个方法中,不同操作前后所使用的事务。传播行为的种类如图所示。


图片.png

在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务。

通常情况下,数据的查询不会改变原数据,所以不需要进行事务管理,而对于数据的增加、修改和删除等操作,必须进行事务管理。如果没有指定事务的传播行为,则 Spring3 默认的传播行为是 required。

  1. TransactionStatus
    TransactionStatus 接口是事务的状态,它描述了某一时间点上事务的状态信息。其中包含六个操作,具体如图所示。


    图片.png

参考

http://c.biancheng.net

相关文章

  • Spring事务管理

    Spring API介绍 Spring事务管理的三个接口: 1.PlatformTransactionManage...

  • Spring事务管理基本概念

    Spring事务管理 所谓事务管理,其实就是“按照给定的事务规则来执行提交或者回滚操作”。 三个核心接口 Plat...

  • spring事务

    这里推荐去慕课网看spring事务这门课程。课程链接 这是spring事务管理的三个重要的接口。 这个是Platf...

  • 第五章 Spring的事务管理

    事务的核心接口 PlatformTransactionManager接口(spring提供的平台事务管理器) 主要...

  • (四)Spring事务管理接口的介绍

    Spring 事务管理接口说明所谓事务管理,其实就是“按照给定的事务规则来执行提交或者回滚操作”。Spring 框...

  • spring事务管理

    Spring事务管理 提供的统一的API接口支持不同的资源 提供声明式事务管理 方便的与Spring框架集成 多个...

  • Spring事务

    容器事务 Spring事务核心接口 JDBC事务管理器(DataSourceTransactionManager)...

  • 关于事务的思考

    Spring对于事务的支持 Spring事务接口 Spring事务管理器 Spring并不直接管理事务,而是提供多...

  • Spring 事务

    一、概述 导图地址 二、框架 三、接口 Spring事务管理涉及的接口如下: Spring并不直接管理事务,而是提...

  • Spring事务管理学习

    一、spring事务管理架构 1. PlatformTranscationManager 通过这个接口,sprin...

网友评论

      本文标题:Spring事务管理的三个接口

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