Spring框架中,TransactionTemplate编程式事务最简单化管理使用实例

在Spring框架中,TransactionTemplate 是一个用于编程式事务管理的类。它简化了事务管理,允许你以编程方式开始、回滚和提交事务,而不必使用声明式事务管理(如通过@Transactional注解)。

以下是如何使用 TransactionTemplate 来执行一个事务的步骤:

1:配置 TransactionTemplate: 通常,你会在Spring配置文件中定义 TransactionTemplate,或者在一个配置类中使用@Bean注解来创建它。你需要提供一个 PlatformTransactionManager 实例。

2:使用 TransactionTemplate 执行事务代码: 你可以通过调用 execute 方法并传递一个 TransactionCallback 或 TransactionCallbackWithoutResult 接口的实现来执行事务代码。
以下是使用 TransactionTemplate 的一个例子:

import org.springframework.transaction.support.TransactionTemplate;
@Resource
private TransactionTemplate transactionTemplate;

    transactionTemplate.execute(status -> {
        //执行业务逻辑操作, 执行中抛出异常spring会自动回滚事物
        this.doAnalyseFile(nextRecord, impFile, commonExcelWriter, analyResult);
        // 错误数量为0认为是成功-提交事物,反之认为失败-回滚事物
        if (analyResult.getImpFailNum() > 0) {
            status.setRollbackOnly(); // 这里得手动回滚一下
            System.out.println("回滚了");
            return false;
        }else{
          System.out.println("提交事物");
            return true;
        }
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值