首页 > 其他分享 >Spring-Boot捕获处理异常并让事务回滚

Spring-Boot捕获处理异常并让事务回滚

时间:2023-02-20 11:57:10浏览次数:35  
标签:回滚 false Spring 捕获 Boot Exception 异常 Transactional

1.不捕获异常可以正常回滚

    @Transactional(rollbackFor = Exception.class)
    @Override
    public boolean testTransaction() {
        baseMapper.updateById(new Person().setId(1).setTicket(10));
        Integer i = null;
        i = i.intValue() + 1;
        return false;
    }

缺点:如果上层(control)没有捕获异常,进程就会停止

2.捕获异常,并回滚

    @Transactional(rollbackFor = Exception.class)
    @Override
    public boolean testTransaction() {
        baseMapper.updateById(new Person().setId(1).setTicket(10));
        try {
            Integer i = null;
            i = i.intValue() + 1;
        } catch (Exception e) {
            log.info("error: {}", e.getMessage());
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
        return false;
    }

核心就是下面这句代码(手动回滚事务)

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

 

标签:回滚,false,Spring,捕获,Boot,Exception,异常,Transactional
From: https://www.cnblogs.com/KaiStudy/p/17136818.html

相关文章

  • Spring Cloud笔记
    单体应用存在的问题随着业务的发展,开发变得越来越复杂。修改、新增某个功能,需要对整个系统进行测试、重新部署。一个模块出现问题,很可能导致整个系统崩溃。多个开发团......
  • springboot ElasticsearchRepository date_histogram 聚合查询
    NativeSearchQueryBuildernsqb=newNativeSearchQueryBuilder();DateHistogramAggregationBuilderdhb=AggregationBuilders.dateHistog......
  • Spring Boot笔记
    SpringBootSpringBoot是一个快速开发框架,可以迅速搭建出一套基于Spring框架体系的应用,是SpringCloud的基础。SpringBoot开启了各种自动装配,从而简化代码的开发......
  • Spring笔记
    Spring框架两大核心机制(IoC、AOP)IoC(控制反转)/DI(依赖注入)AOP(面向切面编程)Spring是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可......
  • Spring MVC笔记
    SpringMVCSpringMVC是目前主流的实现MVC设计模式的企业级开发框架,Spring框架的一个子模块,无需整合,开发起来更加便捷。什么是MVC设计模式?将应用程序分为Control......
  • springboot Elasticsearch 实体创建索引设置Date 类型字段失败
    springbootElasticsearch实体创建索引设置Date类型字段失败,需添加以下注解@Field(type=FieldType.Date,format=DateFormat.custom,patter......
  • Spring Boot 项目介绍
    SpringBoot项目介绍作为学习过Java的软件开发者,相信都知道Spring这一伟大的框架,它所拥有的强大功能之一就是可以集成各种开源软件。但随着互联网的高速发展,各种框架......
  • springboot实现文件上传下载
    1.用IDEA创建名叫springboot-file的SpringBoot项目,并将Packagename改为com.example.springboot,导入SpringWeb和thymeleaf依赖。(如果创建过程中遇到了问题,可以看我写的文......
  • 8. Spring和Mybatis
    AOP和IOC的理解IoC(InversionofControl:控制反转)是一种设计思想,而不是一个具体的技术实现。IoC的思想就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理......
  • 【Spring AOP】【四】Spring AOP源码解析-AOP切入时机
    1 前言我们分析了AOP不管是XML配置还是注解方式的解析过程,这篇我们简单来说下AOP在Spring中对bean对象代理的一个切入时机,其实我们在讲解IOC的时候,已经点了一下这篇我们......