`

Spring的事务回滚机制

 
阅读更多

FROM:http://mopishv0.blog.163.com/blog/static/54455932200911181134396/

spring的事务管理一般有两种应用方式,即编程式和声明式。大多数情况下我们采用声明式。需要注意一点的是:spring缺省是对java运行时异常和未检查异常进行回滚。其它类型的异常则不回滚。所以不要以为将程序交给spring作事务处理就高枕无忧了!

 

实际应用用我们往往并不会在意是什么异常才希望事务回滚,而是希望只在程序抛了异常就进行回滚,以便进行处理。所以需要对spring配置作一下修改:

 

1.x版

 

先定义父类

 

<!--事务代理,如果service需要事务,从此处继承Base TransactionProxyed Service Bean-->

 

Java代码

       

<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">   

        <property name="transactionManager" ref="transactionManager" />   

        <property name="transactionAttributes">   

            <props>   

                <prop key="insert*">PROPAGATION_REQUIRED</prop>   

                <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>   

                <prop key="update*">PROPAGATION_REQUIRED</prop>   

                <prop key="remove*">PROPAGATION_REQUIRED</prop>   

            </props>   

        </property>   

    </bean>  

 

 

注意上面的 Java代码

<prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>  

<prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>

“-Exception”表示所有的异常都进行回滚

 

 

再定义子类,让它继承上面的父类,这样它也就具有了事务特性:

 

Java代码

 

<bean id="magazineManager" parent="baseTxService">   

       <property name="target">   

            <bean class="com.harmony.magazine.service.impl.MagazineManager">   

                <property name="magazineDao">   

                    <ref bean="magazineDao" />   

                </property>   

            </bean>   

        </property>   

    </bean>  

 

分享到:
评论

相关推荐

    spring 简单实例 事务回滚

    总之,这个“spring简单实例 事务回滚”案例为我们提供了一个学习Spring事务管理的好起点。通过理解如何配置事务管理器,使用`@Transactional`注解,以及异常处理机制,我们可以更好地掌握Spring如何保证数据的一致...

    Spring中@Transactional事务回滚(含实例

    本文将深入解析`@Transactional`的事务回滚机制,并通过实例来详细讲解其工作原理,帮助读者理解和应用这一核心功能。 一、`@Transactional`注解介绍 `@Transactional`是Spring提供的一个注解,用于在方法级别或类...

    Spring事务传播机制.docx

    Spring 事务传播机制 Spring 事务传播机制是指在 Spring 框架中,事务的传播和嵌套机制。...Spring的事务传播机制是非常复杂的,需要根据不同的业务场景选择合适的传播机制,以确保事务的正确执行和回滚。

    Java Spring 事务回滚详解

    本篇文章将深入探讨Java Spring中的事务回滚机制。 首先,让我们了解异常的基本概念。在Java中,异常是程序运行时遇到的错误,分为两类:Error和Exception。Error是程序无法恢复的严重问题,如虚拟机错误,通常不需...

    使用SpringBoot注解方式处理事务回滚实现

    例如,在一个银行系统中,如果用户想要转账,但是在转账过程中出现错误,事务回滚机制可以将数据库回滚到转账前的状态,以避免数据的不一致。 在 SpringBoot 中,我们可以使用注解方式来处理事务回滚。我们可以在...

    10-Spring-事务管理1

    6. **Spring事务回滚机制** 默认情况下,Spring通过捕获并处理运行时异常(尤其是`RuntimeException`的子类)来决定是否回滚事务。如果抛出了受检查的异常(`Exception`的非运行时子类),事务通常不会自动回滚,...

    深入理解spring的事务管理机制

    Spring事务管理的核心是基于AOP(面向切面编程)来实现的。 **Spring事务的本质**实际上是依赖于底层数据库提供的事务支持。如果没有数据库层面的支持,Spring无法单独实现事务的功能。在传统的JDBC操作中,如果想...

    spring 事务传播 demo

    在Java后端开发中,Spring的事务管理机制大大简化了事务控制,使得开发者可以更专注于业务逻辑,而不用关心底层事务的管理。通过声明式事务管理,我们只需在方法上添加@Transactional注解,而无需编写手动的try-...

    SPRING事务机制DEMO

    Spring事务机制是Java开发中非常重要的一个概念,它在企业级应用中扮演着核心角色,确保数据的一致性和完整性。Spring提供了多种事务管理方式,包括编程式事务管理和声明式事务管理。在这篇DEMO中,我们将重点探讨...

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

    浅谈Spring中@Transactional事务回滚及示例 @Transactional是Spring Framework中的一种事务管理机制,用于管理数据库事务。它可以使得数据库操作更加安全和可靠。本文将详细介绍@Transactional的使用场景、checked...

    spring事务异常回滚实例解析

    首先,Spring 默认只有在遇到未捕获的 `RuntimeException` 或其子类时才会触发事务回滚。这意味着,如果在业务代码中对异常进行了捕获并处理,而没有再抛出异常,那么事务将不会自动回滚。例如,在提供的代码实例中...

    spring事务案例分析.zip

    本主题将深入探讨“Spring事务案例分析.zip”中的关键知识点,包括Spring事务管理及其在实际项目中的应用。 首先,我们来了解什么是Spring事务管理。在分布式系统或数据库操作中,事务管理是确保数据一致性和完整性...

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

    - 提供了跨数据源的事务回滚能力,简化了系统设计,降低了处理多数据源时的复杂性。在除了分布式事务外的大多数情况下,只需考虑这个机制,就能保证事务的正确性。 在多租户SaaS架构中,数据隔离至关重要。常见的...

    spring事务管理机制资料.zip

    本文将深入探讨Spring事务管理的各个方面,包括基本概念、管理方式、隔离级别以及回滚规则。 首先,事务(Transaction)是数据库操作的基本单位,它封装了一组数据库操作,要么全部执行成功,要么全部不执行。在...

    Spring事务管理失效原因汇总

    描述部分进一步说明了事务失效的后果往往不明显,容易在测试环节被忽略,但在生产环境中出现问题,暴露了开发者对Spring事务机制不足够了解的问题。标签“Spring 事务 失效”直接概括了本文的知识点范围,即Spring...

    spring事务与数据库操作

    ### Spring事务与数据库操作 #### 一、Spring的声明式事务管理 在现代软件开发中,事务处理是非常关键的一部分,特别是在涉及多个数据操作时。Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。...

    spring事务的传播特性和事务隔离级别

    ### Spring事务的传播特性和事务隔离级别 #### 一、Spring事务的传播特性(Propagation) 在Spring框架中,事务管理不仅提供了ACID属性的支持,还引入了事务的传播特性,这些特性决定了当一个方法调用另一个方法时,...

    Spring事务原理、Spring事务配置的五种方式

    Spring事务原理是指Spring框架中的一种机制,用于管理事务,并提供了多种配置方式。事务是指一系列的操作,作为一个整体执行,如果其中某个操作失败,整个事务将回滚。Spring事务原理围绕着两个核心:...

    Spring Boot的Spring事务处理机制4大特性.docx

    如果事务回滚,账户 A 和账户 B 的金额也应该保持原样。 **3. 隔离性(Isolation)** - **定义**:并发环境中,事务之间应当互相隔离,即一个事务的执行不应受到其他事务的影响。 - **应用场景**:假设两个事务都...

    Spring事务介绍,分23类进行梳理

    10.Spring事务的回滚机制:使用回滚规则来控制事务的回滚,例如回滚异常、回滚超时等。 11.事务的隔离级别:使用隔离级别来控制事务的访问数据库的方式,例如READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、...

Global site tag (gtag.js) - Google Analytics