. PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行
时间: 2023-08-24 21:05:13 浏览: 69
深入理解Spring事务的传播行为
PROPAGATION_SUPPORTS 是 Spring 事务传播行为中的一种。它的含义是:如果当前存在事务,则加入该事务,如果当前不存在事务,则以非事务方式执行。
具体来说,如果一个方法使用 PROPAGATION_SUPPORTS 传播行为进行事务控制,那么当该方法被另一个使用事务的方法调用时,它会加入到该事务中执行;当该方法被非事务方法调用时,它会以非事务方式执行。
PROPAGATION_SUPPORTS 传播行为通常用于读取操作,因为读取操作不需要对数据库进行修改,不需要使用事务来保证数据的一致性和完整性。通过使用 PROPAGATION_SUPPORTS 传播行为,可以在当前存在事务时加入到该事务中执行,从而保证数据的一致性和完整性;在当前不存在事务时,可以以非事务方式执行,提高读取操作的执行性能。
需要注意的是,在使用 PROPAGATION_SUPPORTS 传播行为时,不会抛出事务异常,因为它不会开启新的事务,也不会回滚事务。
阅读全文