【spring】spring事务的传播行为

一、说明

    1.事务的传播特性是当一个事务方法被另一个事务方法调用时,这个事务方法该如何进行

二、传播行为

传播行为 外部不存在事务 外部存在事务 使用方式 required(默认) 开启新事务 融合到外部事务中 @Transactional(propagation=Propagation.REQUIRED)适用增删改 supports 不开启新事务 融合到外部事务中 @Transactional(propagation=Propagation.SUPPORTS)适用查询 requires new 开启新事务 不用外部事务,开启新事务 @Transactional(propagation=Propagation.REQUIRES_NEW)适用内部事务和外部事务不存在业务关联的情况,例如日志 not supported 不开启新事务 不用外部事务 @Transactional(propagation=Propagation.NOT_SUPPORTED)不常用 never 不开启新事务 抛出异常 @Transactional(propagation=Propagation.NEVER)不常用 mandatory 抛出异常 融合到外部事务中 @Transactional(propagation=Propagation.MANDATORY)不常用 NESTED 开启新事务 融合到外部事务中,savepoint机制,外层影响内层,内层不会影响外层 @Transactional(propagation=Propagation.NESTED)不常用
经验分享 程序员 微信小程序 职场和发展