事务

什么是事务?

  保证数据的一致性

事务特效?

原子性

  要么成功,要么失败

隔离性

  多个事务互不影响

持久性

  永久

一致性

  转账案例

什么是spring事务?

spring事务分为两种

  手动事务(编程事务)

    实现原理:手动的去实现获取数据源api,自动封装手动的提交,回滚

  声明事务(xml,注解)

    原理分析:aop环绕通知 +环绕通知+异常通知   在方法前方法后(方法中异常不要try 要抛出去)

什么是事务传播行为?

  事务传递 给内部调用方法

事务的默认传播行为?

  required 

事务传播行为7种:

  

  • PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
  • PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。(如果当前有事物,我就用当前事物,如果当前没有事物,就以非事物进行执行)
  • PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。 
  • PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。 
  • PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 
  • PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。

    

原文地址:https://www.cnblogs.com/zhouwen2017/p/10607662.html