- 浏览: 91871 次
- 性别:
- 来自: 上海
文章分类
最新评论
pring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked
如果遇到checked意外就不回滚。
如何改变默认规则:
1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)
2 让unchecked例外不回滚: @Transactional(notRollbackFor=RunTimeException.class)
3 不需要事务管理的(只查询的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)
注意: 如果异常被try{}catch{}了,事务就不回滚了,如果想让事务回滚必须再往外抛try{}catch{throw Exception}。
spring——@Transactional事务不管理jdbc,所以要自己把jdbc事务回滚。
如果遇到checked意外就不回滚。
如何改变默认规则:
1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)
2 让unchecked例外不回滚: @Transactional(notRollbackFor=RunTimeException.class)
3 不需要事务管理的(只查询的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)
注意: 如果异常被try{}catch{}了,事务就不回滚了,如果想让事务回滚必须再往外抛try{}catch{throw Exception}。
spring——@Transactional事务不管理jdbc,所以要自己把jdbc事务回滚。
发表评论
-
Android高性能编程(2)--延迟初始化
2015-06-26 16:08 0Android高性能编程(2)--延迟初始化 分 ... -
Android高性能编程(1)--基础篇
2015-06-26 16:07 0Android高性能编程(1)--基础篇 ... -
HttpClient使用详解
2015-06-26 16:05 0Http协议的重要性相信不用我多说了, ... -
android中HttpClient和HttpConnection的区别和应用(收藏)
2015-06-26 16:04 0android中HttpClient和HttpConne ... -
Ehcache 整合Spring 使用页面、对象缓存
2015-06-03 15:38 0Ehcache在很多项目中都出现过,用法也比较 ... -
Ehcache详细解读
2015-06-03 15:21 0Ehcache 是现在最流行的纯Java ... -
Jenkins入门总结
2015-05-29 09:00 0Jenkins入门总结 在网上貌似没有 ... -
JSTL字符串处理函数
2015-05-26 09:34 0转载▼ 近日处理使用到JST ... -
在 Web 项目中应用 Apache Shiro 开源权限框架
2015-05-11 17:20 0Apache Shiro ... -
Java构造和解析Json数据的两种方法详解二
2015-03-15 19:43 0在www.json.org上 ... -
Redis学习手册(主从复制)
2015-03-11 17:23 0Redis学习手册(主从复制) Posted on 2 ... -
SpringMVC与Struts2的对比
2015-03-11 17:15 0SpringMVC与Struts2的对比 分类 ... -
springMVC工作原理
2015-03-11 17:07 0springMVC工作原理 分类: sprin ... -
JDK 5 concurrent 包简介
2015-03-11 11:15 0JDK 5 concurrent 包简介 分类 ... -
SpringMVC配置JSON、JSP、FreeMark多视图解析器配置
2015-03-11 09:46 0SpringMVC配置JSON、JSP、FreeMark ... -
浅谈jsp、freemarker、velocity区别
2015-03-10 13:54 0以前做web开发页面 ... -
一篇很全面的freemarker教程
2015-03-10 13:50 0一篇很全面的freemarker教程 ... -
SpringMVC Controller 介绍
2015-03-03 18:00 0一、简介 在SpringMVC 中 ... -
maven2中profile的介绍与使用
2015-03-03 12:03 0[转载声明] 转载时必须标注:本文来源 ... -
maven2中snapshot快照库和release发布库的应用
2015-03-03 12:00 0[转载声明] 转载时必须标注:本文来源 ...
相关推荐
标题“Spring事务管理失效原因汇总”指出了本文的核心内容是分析在使用Spring框架进行事务管理时可能遇到的问题及其原因。描述部分进一步说明了事务失效的后果往往不明显,容易在测试环节被忽略,但在生产环境中出现...
在实际应用中,Spring事务管理的配置和使用需要注意以下几个方面: - 事务传播行为:定义了事务在遇到已有事务时的行为模式,例如是否加入当前事务、新建一个事务等。 - 事务隔离级别:定义了事务的隔离水平,例如...
本文将深入探讨Spring事务管理的概念、类型、配置方式以及在实际开发中的应用。 首先,我们要理解什么是事务。事务是数据库操作的基本单元,它确保一组数据库操作要么全部成功,要么全部失败。事务有四大特性,即...
在Spring框架中,提供了多种事务管理方式,其中之一就是基于AspectJ的事务控制。本文将深入探讨如何在Spring中利用AspectJ实现事务控制。 首先,我们需要理解什么是AspectJ。AspectJ是一种面向切面编程(AOP)的...
Spring事务处理是其核心特性之一,确保了数据的一致性和完整性。本篇文章将聚焦于Spring事务处理中ThreadLocal的使用,以及如何通过源码理解和应用这个工具。 首先,了解Spring事务管理的基本概念。在多线程环境中...
Spring事务管理分为编程式和声明式两种。编程式事务管理通过编程的方式(如使用`TransactionTemplate`或直接调用`PlatformTransactionManager`)来控制事务的开始、提交、回滚等操作。而声明式事务管理则是在配置...
**标题:“Hibernate缓存与Spring事务详解”** 在IT领域,尤其是Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。而Spring框架则以其全面的功能,包括依赖注入、AOP(面向切...
在Spring Boot中,数据库事务控制是实现业务逻辑一致性的重要手段。本资料主要围绕Spring Boot如何进行数据库事务管理进行深入探讨。 首先,我们需要了解什么是事务。事务是数据库操作的基本单位,它保证了一组...
在开发基于Spring框架的应用程序时,我们经常需要利用AOP(面向切面编程)来实现横切关注点(如日志记录、安全控制、事务管理等)的模块化处理。其中,事务管理是保证数据一致性的重要手段之一。然而,在实际开发...
它通过调用 `java.sql.Connection` 的 `commit()` 和 `rollback()` 方法来实现事务控制。 ##### 3. Hibernate 事务管理 如果使用 Hibernate 进行持久化,则需要使用 `HibernateTransactionManager`。这个事务管理器...
本文将详细讲解如何搭建Spring事务操作环境以及实现基本功能。 首先,理解事务(Transaction)的重要性。在数据库操作中,事务是确保数据一致性和完整性的关键概念。一个事务是一系列数据库操作的集合,这些操作...
在深入探讨Spring框架中的事务传播属性之前,我们先来简要回顾一下Spring事务的基础概念。Spring框架提供了强大的事务管理功能,允许开发者通过声明式的方式管理业务逻辑中的事务边界。Spring的事务管理主要依赖于`...
本教程将深入探讨如何在Spring4、SpringMVC和MyBatis集成环境下实现事务控制。 首先,让我们了解这三个组件的基本概念: 1. **Spring4**:Spring是一个开源的Java平台,它提供了全面的企业级应用开发解决方案,...
而Spring事务管理是其核心特性之一,它为开发者提供了强大的事务处理能力,确保数据的一致性和完整性。本篇文章将深入探讨如何在Spring Boot中整合Spring事务管理,并详细阐述其关键概念和技术细节。 首先,了解...
虽然不常见,但Spring也支持编程式事务管理,通过`PlatformTransactionManager`接口的实现类来手动控制事务的开始、提交、回滚。这种方式灵活性较高,但代码侵入性强,一般不推荐。 5. **基于AspectJ的事务配置** ...
当一个方法(A方法)内部调用另一个方法(B方法)时,可能会遇到事务控制的复杂情况。本示例代码旨在解决在A方法内部调用B方法时的回滚问题。 在Spring中,事务管理可以通过编程式和声明式两种方式实现。编程式事务...
在本项目中,我们将讨论如何在Spring.NET中结合Oracle数据库实现事务控制,以及利用自定义异常处理来确保数据的一致性和完整性。 首先,让我们了解什么是事务。在数据库操作中,事务是一系列操作的集合,这些操作...
Spring事务管理主要分为两种方式:编程式事务管理和声明式事务管理。编程式事务管理是通过编写代码来控制事务的开始、提交、回滚等操作,而声明式事务管理则是通过配置或注解来定义事务边界,更加直观和易于使用。 ...
事务控制是确保数据库操作一致性、完整性的关键,尤其在多步骤操作中,它能防止数据的不一致性和错误。 首先,我们来看Spring与JDBC的事务控制。Spring提供了一种声明式事务管理的方式,允许开发者通过在方法上添加...