yangyang12138

导航

spring-tx

1.概述

  通过统一的方式定义了事务的管理,只需实现transtionManager就可以通过注解,配置bean和aop的方式来完成事务的调用。

2.事务的机制

  传播机制    

    propagation_requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择。
    propagation_supports:支持当前事务,如果没有当前事务,就以非事务方法执行。
    propagation_mandatory:使用当前事务,如果没有当前事务,就抛出异常。
    propagation_required_new:新建事务,如果当前存在事务,把当前事务挂起。
    propagation_not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
    propagation_never:以非事务方式执行操作,如果当前事务存在则抛出异常。
    propagation_nested:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与propagation_required类似的操作

  隔离机制

    读未提交 (Read uncommitted)

    读提交(Read Committed)

    可重复读(Repeated Read)

3.实现方式

  (1)编程式事务管理对基于 POJO 的应用来说是唯一选择。我们需要在代码中调用beginTransaction()、commit()、rollback()等事务管理相关的方法,这就是编程式事务管理。
  (2)基于 TransactionProxyFactoryBean的声明式事务管理
  (3)基于 @Transactional 的声明式事务管理
  (4)基于Aspectj AOP配置事务

4.结构

  

 

  通过各种方式定义的transaction经过parse形成definition,definition产生transationManagerBeanFactory

  transationManagerBeanFactory最终产生transationManager,transationManager可以完成事务的处理。

  TransactionSynchronization负责事务的监听。

 

posted on 2020-07-12 03:08  杨杨09265  阅读(411)  评论(0编辑  收藏  举报