美文网首页
spring 事务管理

spring 事务管理

作者: 寂静的春天1988 | 来源:发表于2020-09-04 16:02 被阅读0次

    1、PlatformTransactionManager 事务管理器
    spring要管理事务必须使用事务管理器。
    进行事务配置时,必须配置事务管理器
    2、TransactionDefinition 事务详情
    spring用于确定事务具体详情,比如:隔离级别,是否只读,超时时间。
    进行事务配置时,必须配置详情,spring将配置项封装到了该对象实例。
    3、TransactionStatus 事务状态
    spring用于记录当前事务运行状态,比如:是否有保存点,事务是否完成。
    spring底层根据状态进行相应操作。

    TransactionDefinition 事务详情

    事务详情.png

    事务的传播行为:多个业务间怎么样共享事务

    总共7种。

    PROPAGATION_REQUIRED (必须):支持当前事务,如果A有事务,B必须使用该事务,如果A没用事务,那么B将创建一个事务。

    PROPAGATION_SUPPORTS(支持): 支持当前事务,如果A有事务,那么B将使用该事务。如果A没有事务,B将以非事务执行。

    PROPAGATION_MANDATORY(强制):支持当前事务,A如果有事务,B将使用该事务,A如果没有事务,B将抛出异常。

    PROPAGATION_REQUIRES_NEW(必须新的):如果A有事务,将A的事务将挂机,B创建一个新的事务。如果A没有事务,B创建一个新的事务。

    PROPAGATION_NOT_SUPPORTED(不支持):
    如果A有事务,将A的事务将挂机,B将以非事务执行。如果A没有事务,B将以非事务执行。

    PROPAGATION_NEVER(不):如果A有事务,B将抛异常。如果A没有事务,B将以非事务执行。

    PROPAGATION_NESTED(嵌套):
    A和B底层采用保存点的机制,形成嵌套事务。

    1、配置事务管理器
    2、开启事务管理
    3、使用@Transactional

    相关文章

      网友评论

          本文标题:spring 事务管理

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