spring boot手动提交事务

时间:2025-03-23 08:31:28
import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.DefaultTransactionDefinition; @Autowired private DataSourceTransactionManager txManager; /** * 测试事务 */ private void testTransaction() { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status = txManager.getTransaction(def); try { system.out.println("处理正常业务") txManager.commit(status); } catch (Exception e) { LOGGER.error("testTransaction fail:{}",e); txManager.rollback(status); } }