1. 程式人生 > >Spring中Transactional不新增rollbackFor等屬性時的事務回滾問題

Spring中Transactional不新增rollbackFor等屬性時的事務回滾問題

昨天同事說Spring的Transactional必須新增rollbackFor = Exception.class,否則事務不會回滾。但我原來試過,丟擲RuntimeException時是會回滾的。於是檢視Spring的Transactional的API文件,發現下面這段:

If no rules are relevant to the exception, it will be treated like DefaultTransactionAttribute (rolling back on runtime exceptions).

後面又試了下發現,如果不新增rollbackFor等屬性,Spring碰到Unchecked Exceptions都會回滾,不僅是RuntimeException,也包括Error。

相關推薦

SpringTransactional新增rollbackFor屬性事務問題

昨天同事說Spring的Transactional必須新增rollbackFor = Exception.class,否則事務不會回滾。但我原來試過,丟擲RuntimeException時是會回滾的。於是檢視Spring的Transactional的API文件,發現下面這段:

spring事務管理,基於xml配置完成事務spring資料庫表中欄位名和pojo屬性一致時候,實現RowMapper介面手動封裝

宣告使用JDK8,spring5.0.7, 測試說明: service 層 宣告介面進行轉賬,從A轉賬B ,然後對AB 進行更新操作,在事務中對find方法開啟 只讀許可權,無法進行更新操作,造成事務回滾進行測試事務; 主要測試方法:* void tra

spring@Transactional註解丟擲異常的現象

  文章轉載至:http://blog.csdn.net/qq_14874941/article/details/52808520 今天在開發中,遇到了如題這樣的問題,我自己手動丟擲異常,資料還是會寫入的資料庫中,並且不會發生回滾,導致產生了垃圾資料。後來上網查了一

在IE8及以下的瀏覽器支持placeholder屬性的解決辦法

模擬 att elf remove ddc 解決辦法 doc addclass put 以下代碼解決了在IE8及以下瀏覽器中不支持placeholder屬性。 原理:將placeholder的值作為內容寫入控件,並添加控件事件來進行模擬。 ;(function(){

透徹的掌握 Spring @transactional 的使用

生成 support 提交 接下來 取數 eas pil owa dep 轉載自 https://www.ibm.com/developerworks/cn/java/j-master-spring-transactional-use/index.html#icomment

spring@Transactional的各個引數的意思和常見的事務陷阱 spring@Transactional的各個引數的意思和常見的事務陷阱

在service類前加上@Transactional,宣告這個service所有方法需要事務管理。每一個業務方法開始時都會開啟一個事務。 Spring預設情況下會對執行期例外(RunTimeException)進行事務回滾。這個例外是unchecked 如果遇到checked意外就不

Spring MVC配置攔截HTML資源請求

問題 <servlet-mapping> <servlet-name>dispatcher</servlet-name> <!--會攔截所有的請求--> <url-pattern>/</url

bootstrap 原始碼部分瞭解的css屬性

1、-webkit-text-size-adjust: 100%; //用於防止iPhone橫屏時字型自動放大。 2、-webkit-transform: scale(0.875 ); //當需要文字小於12px時可以用scale來進行縮小 3、-ms-overflow-style: scrollbar;

spring 如果使用new建立一個物件 這個物件將在受spring管理器管理

文章如標題具體如下 比如現在有一個service 層 package com.zyc.service.impl; import javax.annotation.Resource; import org.springframework.stereotype.Servi

Spring 如何向 Bean 注入系統屬性或環境變數

在 Spring 中為 javabean 注入屬性檔案中的屬性值一般人都知道的,可以通過 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 引入一個屬性檔案,然後給 bean 指定

python學習:如何解決 lxml到etree問題

這個主要是針對在Windows上執行pycharm,lxml和etree下面都報紅的問題,自己查找了很久研究出來的。原因:主要是lxml沒有這個包的問題,需要安裝下: 1.需要在https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 

spring到配置檔案問題

最近碰到一個問題,明明已經配置了<context:property-placeholder location="classpath:bieyang-config.properties" /> 啟動spring還是報找不到${bieyang.host}類似這種錯誤

Spring@Transactional事務

一、Spring 預設事務 Spring中@Transactional事務,預設情況下只對 RuntimeException 回滾。 即: 如果被註解的資料庫操作方法中發生了unchecked異常(RuntimeException),所有的資料庫操作將roll

Spring知道的注入方式

前言 在Spring配置檔案中使用XML檔案進行配置,實際上是讓Spring執行了相應的程式碼,例如: 使用<bean>元素,實際上是讓Spring執行無參或有參構造器使用<property>元素,實際上是讓Spring執行一次se

OpenGL的光照、材質屬性

OpenGL在處理光照時把光照系統分為三部分,分別是光源、材質和光照模型。 光源、材質和光照模式都有各自的屬性,儘管屬性種類繁多,但這些屬性都只用很少的幾個函式來設定。 使用glLight*函式可設定光源的屬性, 使用glMaterial*函式可設定材質的屬性,

iOS 在storyboard/xib設定UIView的圓角屬性

通常我們給UIView及其子控制元件設定圓角時一般都是通過程式碼進行設定的,現在我做的專案中大部分介面都是通過storyboard或xib建立的,這時候我要讓介面中的UIImageView有圓角,如果這時候通過程式碼就會很麻煩了,所以我在想要是能直接在storyboard或

SpringTransactional配置

@Transactional(noRollbackFor=RuntimeException.class)方法事務說明 @Transactional(RollbackFor=Exception.class) @Transactional(readOnly=true) @Tra

springboot 項目使用@transactional註解生效導致事務失敗問題總結

出現 數據庫引擎 問題 exceptio class pub 不支持 數據庫操作 數據庫 在常規使用@transactional註解時,如果碰到不生效問題,要首先想到如下幾個問題:   1. 如果是有關數據庫操作,首先要查看牽涉到的表使用的引擎是什麽引擎,要知道使用"MY

淺談Spring事務

spec style try 常見 產生原因 turn prop ret run 使用Spring管理事務過程中,碰到過一些坑,因此也稍微總結一下,方便後續查閱。1.代碼中事務控制的3種方式編程式事務:就是直接在代碼裏手動開啟事務,手動提交,手動回滾。優點就是可以靈

Spring @Transactional 事務機制

Srping 事務     在Spring 的世界裡面我們一般使用@Transactional 註解在對應方法上面宣告為一個事務方法。     但是在預設不寫@Transactional(rollbackFor = Exception.class)預設回滾Run