`

Spring 事物回滚问题

 
阅读更多

 

@Transactional(rollbackFor={Exception.class,RuntimeException.class})
    public void books(String dd) throws Exception{
    	System.out.println("Booking " + dd + " in a seat...");
    	insert(dd);
    	cc();

    };
    
    public void cc() throws Exception{
    		throw new Exception("1234");
    }
    
    public void insert(String dd){
    	jdbcTemplate.update("insert into BOOKINGS(FIRST_NAME) values (?)", dd);
    }
    
    private void update(String dd) throws Exception{
    	jdbcTemplate.update("update BOOKINGS set FIRST_NAME= ? where id=6",dd);
    }
    
    public void test() throws Exception{
    	books("123");
    }

 

 

public static void main(String[] args) throws Exception {

bookingService.books("123"); //回滚

    

 

bookingService.test(); //不回滚

 

}

 

 

在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错, 但是这个被注解的方法将不会展示已配置的事务设置。

 

分享到:
评论

相关推荐

    spring-控制事物回滚

    "spring-控制事物回滚"这个主题主要涉及Spring如何在出现异常时自动或手动触发事务的回滚,以及如何配置和使用Spring的事务管理机制。我们将深入探讨Spring事务管理的原理、API使用以及在实际开发中的应用。 首先,...

    Spring中的@Transactional事物回滚实例源码

    首先,`@Transactional`是Spring提供的一个编程式事务管理方式,它允许我们在方法上声明事务属性,如传播行为、隔离级别、读写模式以及是否回滚。例如: ```java @Service public class UserService { @...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    通过封装原生的JDBC API,JdbcTemplate不仅提高了代码的可读性和可维护性,还帮助开发者避免了许多常见的错误,比如资源关闭、SQL注入等问题。 Spring框架提供了多种模板类来处理不同的数据访问需求,例如...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    《Spring Boot多数据源(支持Spring声明式事务切换和回滚)》 Spring Boot多数据源技术是构建高效、灵活的多租户SaaS架构的关键。在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论...

    spring事物传播测试表

    本文将深入探讨“Spring事物传播测试表”所涉及的知识点。 首先,理解事务是非常重要的。在数据库操作中,事务确保数据的一致性和完整性。例如,一组相关的数据库操作要么全部成功,要么全部失败,这就是事务的ACID...

    spring的5中事物配置 介绍spring的5中事物配置

    这里的`@Transactional`会告诉Spring如何处理方法内部的事务,包括传播行为、隔离级别、超时和回滚规则等。 3. **基于XML的声明式事务管理(Declarative Transaction Management via XML)** - 在XML配置文件中,...

    事物简单总结(偏向Spring事物)

    如果@Transactional注解的方法中抛出了未检查异常(继承自RuntimeException的异常)或在配置中明确指定的检查异常,Spring会自动回滚事务。如果抛出其他异常,Spring默认不会回滚事务,除非手动设置。 最后,我们来...

    浅谈Spring中@Transactional事务回滚及示例(附源码)

    这种场景就可以使用@Transactional事物回滚。 二、checked异常和unchecked异常 checked异常和unchecked异常是Java语言中异常处理的两种类型。checked异常是指程序中可以预测的异常,例如无效的用户输入、文件不...

    Spring事物配置的五种模式

    当执行该方法时,Spring会自动开启一个新的事务,并在方法结束后提交或回滚事务。 #### 五、编程式事务管理 这种方式通过编程的方式显式地控制事务的开始、提交和回滚。这种方式适用于那些无法使用声明式事务的...

    Spring异常捕获且回滚事务解决方案

    Spring 异常捕获且回滚事务解决方案 在 Spring 框架中,异常捕获和回滚事务是非常重要的概念。今天,我们将讨论如何在 Spring 中捕获异常并回滚事务。 首先,让我们了解一下 Spring 的事务机制。当我们在 Spring ...

    spring-tx事物源码

    在这个源码中,我们可以深入理解Spring如何处理事务的生命周期、回滚规则以及与各种数据源的集成。 首先,`spring-tx`模块主要包含以下几个关键组件: 1. **PlatformTransactionManager**: 这是Spring事务管理的...

    spring中事物配置

    在Spring框架中,事务管理是实现业务逻辑时不可或缺的一部分,它确保了数据的一致性和完整性。...在实际项目中,根据具体需求,你可能还需要调整事务的传播行为、隔离级别、回滚规则等属性,以满足复杂的应用场景。

    第十四章 Spring4 切面事物与事物通知与传播行为

    本章将详细探讨Spring4中的切面事务处理、事物通知以及传播行为。 一、切面编程(AOP) 切面编程是Spring框架的一大特色,它允许开发者将关注点如日志记录、事务管理等从主业务逻辑中分离出来,形成独立的模块,即...

    Spring事务管理Demo

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式或编程式的方式处理应用中的事务。Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何...

    最新版本SpringCloud+seata+nacos实现全局事物处理的demo案例

    模拟订单和库存的一个简单案例实现,注册到nacos配置中心,通过feign远程调用模拟异常进行全局事物回滚。 内含sql文件,nacos、seata安装包以及对应seata配置所需的script脚本(也可自行官网下载) ...

    spring事物管理配置的5种方式

    在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。本文将详细介绍Spring事务管理配置的五种方式,帮助你更好地理解和掌握这一关键概念。 首先,Spring事务管理通常涉及三个主要部分: ...

    spring事物的五种配制方法

    3. **第四种方法:编程式事务管理**:通过手动编写代码来控制事务的开始、提交和回滚。适用于事务管理较为复杂的场景。 - **特点**:灵活性高,可以实现更为复杂的事务逻辑。 - **适用场景**:适用于事务处理逻辑...

    spring 事物底层原理分析1

    - **PlatformTransactionManager**:事务管理器接口,负责事务的开启、提交、回滚等操作。 - **TransactionStatus**:事务运行时状态接口,用于获取事务的状态信息。 API 示例: ```java public class ...

    spring事物

    此外,事务还有隔离级别,包括READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE,它们定义了事务间的并发控制策略,防止脏读、不可重复读和幻读等问题。 在实际开发中,我们通常使用Spring的AOP...

Global site tag (gtag.js) - Google Analytics