22.Spirng-事务管理-概念

QQ群:Java资料共享群 59174518
什么是事务?
事务的特性(ACID);
事务并发问题;

  • 脏读
  • 幻读
  • 不可重复读

事务的隔离级别(解决事务并发的问题)

  • 读未提交
  • 读已提交
  • 事务的隔离级别

事务传播行为(指的是在某种情况下来管理事务)

  • 传播行为就是指业务方法之间平行调用的时候,如果处理事务的问题.
  • PROPAGION_XXX :事务的传播行为
  • PROPAGATION_REQUIRED 支持当前事务,如果不存在 就新建一个(默认)
  • PROPAGATION_SUPPORTS 支持当前事务,如果不存在,就不使用事务
  • PROPAGATION_MANDATORY 支持当前事务,如果不存在,抛出异常
  • PROPAGATION_REQUIRES_NEW 如果有事务存在,挂起当前事务,创建一个新的事务
  • PROPAGATION_NOT_SUPPORTED 以非事务方式运行,如果有事务存在,挂起当前事务
  • PROPAGATION_NEVER 以非事务方式运行,如果有事务存在,抛出异常
  • PROPAGATION_NESTED 如果当前事务存在,则嵌套事务执行

Spring封装了事务管理的代码,用来管理事务;

  • 因为在每个平台的事务代码都不一样,所以Spring就提供一个平台事务管理器(PlatformTransactionManager)

  • PlatformTransactionManager接口

  • 打开事务的代码

  • 提交事务的代码

  • 回滚事务的代码

  • 针对不同平台,hibernate平台,mybatis平台,都提供不同的实现类;

  • 如果是真滴jdbc平台就会提供一个JDBCTransactionManager

猜你喜欢

转载自blog.csdn.net/redeagles/article/details/82828657