Spring-事物机制

  • 事务
  1. 就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题
  • 声明式事务
  1. 建立在AOP的基础之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。
  2. 优点:不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过等价的基于标注的方式),便可以将事务规则应用到业务逻辑中。
  3. 不足:最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法等等。
  4. 配置方式:注解方式、tx标签配置等
  • 编程式事务
  1. Spring的编程式事务即在代码中使用编程的方式进行事务处理,可以做到比声明式事务更细粒度。
  2. 有两种方式:一是使用TransactionManager,另外就是TransactionTemplate。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring 事务传播机制指的是在事务嵌套的场景下,不同事务之间的行为表现。Spring 事务传播机制定义了一个方法在调用其他方法时如何使用事务。 Spring 事务传播机制主要有以下 7 种: 1. REQUIRED:如果当前存在事务,则加入该事务,否则新建一个事务。 2. SUPPORTS:如果当前存在事务,则加入该事务,否则以非事务方式执行。 3. MANDATORY:当前必须存在事务,否则抛出异常。 4. REQUIRES_NEW:新建一个事务,如果当前存在事务,则将当前事务挂起。 5. NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,则将当前事务挂起。 6. NEVER:以非事务方式执行操作,如果当前存在事务,则抛出异常。 7. NESTED:如果当前存在事务,则在嵌套事务内执行,否则新建一个事务。 其中,REQUIRED 是默认的传播机制。如果不指定传播机制Spring 会默认使用 REQUIRED 传播机制。 在使用事务传播机制时,需要注意以下几点: 1. 事务传播机制只对嵌套事务有效,对于非嵌套事务,传播机制不会产生影响。 2. 事务传播机制只对使用 @Transactional 注解的方法有效。 3. 在使用嵌套事务时,需要使用支持保存点(Savepoint)的事务管理器,如 Spring 的 JtaTransactionManager。 综上所述,Spring 事务传播机制可以帮助我们更好地管理事务,避免事务嵌套带来的问题。在使用事务传播机制时,需要根据具体情况选择合适的传播机制,以便实现更好的事务管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值