1. 程式人生 > >Spring入門知識 ———— Spring事務註解其他屬性(回滾、只讀、過期)

Spring入門知識 ———— Spring事務註解其他屬性(回滾、只讀、過期)

一、引言

咱們spring入門知識也接近尾聲,後續小編會時不時更新Spring原始碼解析的文章,更加深入的理解。

那麼今天來看下@Transactional這個註解的其他幾個屬性,這裡小編就只是介紹了,不為大家進行演示了。

二、回滾

@Transactional註解預設是針對全部執行時異常進行回滾,那麼當然我們也可以通過相關屬性進行設定。

1、rollbackFor:該屬性設定需要進行回滾的異常,當方法中丟擲指定異常時,則事務進行回滾

     例如指定一個:@Transactional(rollbackFor=NullPointerException.class)

     例如指定多個:@Transactional({rollbackFor=NullPointerException.class,Exception.class})

2、rollbackForClassName:該屬性設定需要進行回滾的異常,當方法中丟擲指定異常時,則事務進行回滾

      例如:@Transactional(rollbackForClassName="NullPointerException"),多個請用{}

3、noRollbackFor:該屬性設定不需要回滾的異常,當方法中丟擲指定異常,則事務不進行回滾

      例如:@Transactional(noRollbackFor=NullPointerException.class),多個請用{}

4、noRollbackForClassName:該屬性設定不需要回滾的異常,當方法中丟擲指定異常,則事務不進行回滾

      例如:@Transactional(noRollbackForClassName="NullPointerException"),多個請用{}

三、只讀

使用readOnly屬性,指定該事務是否只讀,表示這個事務只讀取資料但不更新資料,這樣有利於資料庫索引優化事務。

1、@Transactional(readOnly=true),表示該事務真的是一個只讀的方法

2、@Transactional(readOnly=false),表示該事務不是一個只讀的方法

四、超時

如果一個事物可能會因為某些原因導致執行時間過長,可以通過timeout屬性來指定執行時間,如果超過該時間,則事務進行回滾操作,單位為秒。

1、@Transactional(timeOut=3),表示該事務只能執行3秒以內,如果超出則回滾事務

相關推薦

Spring入門知識 ———— Spring事務註解其他屬性(只讀過期)

一、引言 咱們spring入門知識也接近尾聲,後續小編會時不時更新Spring原始碼解析的文章,更加深入的理解。 那麼今天來看下@Transactional這個註解的其他幾個屬性,這裡小編就只是介紹

Spring入門知識 ———— 學習事務前的準備工作

一、引言 在我們學習事物之前呢,肯定需要準備一個使用事務的場景,方便後面學習事務做準備。這個案例非常簡單,在我們生活隨處可見,也方便大家理解。 我相信大家肯定拿過爸媽給的零花錢,去買零食。在我們拿零

Spring入門學習(事務的其它屬性) 第二十一節

Spring入門學習(事務的其它屬性) 事務的隔離級別 事務的回滾 事務的只讀屬性和過期時間 事務的隔離級別 使用 isolation指定事務的隔離級別,最常用的取值為 READ_COMMITTED 事務的回滾

spring_(25)Spring_事務其他屬性(隔離級別&&只讀&過期)

併發事務所導致的問題 當同一個應用程式或者不同應用程式中的多個事務在同一個資料集上併發執行時,可能會出現許多意外的問題 併發事務所導致的問題可以分為下面三種類型: 髒讀:對於兩個事務T1,T2,。T1讀取了已經被T2更新但還沒有被提交的欄位。之後,若T2

Spring如何設定讓事務自動提交和Spring兩種事務管理方式的配置及使用

1,我們要明確,Spring如何設定讓事務自動提交和回滾?        ①如何自動提交?           理論上,可以通過對DataSource如下設定,讓事務自動提交 <!-- 配置資料來源 --> <beanid="dataSour

Spring入門知識 ———— 使用註解的方式實現事務

一、引言 上一個章節當中,我們為學習事務準備了一個生活案例,可以回顧一下,點這裡。 上個案例,成功了購買了商品,並且賬戶金額也減少了,這是沒任何問題的,現在我們對這個方法進行一個修改。 在我們修改

Spring入門知識 ———— Spring_IOC屬性常用注入方式

一、引言 如何在IOC容器中配置Bean,這個是每個小夥伴得掌握的。在之前HelloWorld也有接觸過,那麼本章來介紹一下IOC常用的注入方式。一般來說常用的屬性注入、構造器注入的方式,本章會通過一

Spring入門知識 ———— 通過註解的方式配置Bean

一、引言 小夥伴們注意啦,重點,重點來了 之前我們都是通過xml去配置一個bean,當然我們在實際專案中肯定不是那麼幹的,畢竟一個專案那麼多的類,挨個挨個配置豈不是太麻煩了。到目前為止最為流行的方式

Spring 學習(二十五)——事務其他屬性(隔離級別只讀過期

併發事務所導致的問題 •當同一個應用程式或者不同應用程式中的多個事務在同一個資料集上併發執行時, 可能會出現許多意外的問題 •併發事務所導致的問題可以分為下面三種類型: –髒讀: 對於兩個事物 T1, T2, T1  讀取了已經被 T2 更新但 還沒有被提交的欄位. 之後, 若

Spring基礎知識之基於註解的AOP

sdn 相互 com 目的 declare 裝配bean 四種 ace 裝配 背景概念:   1)橫切關註點:散布在應用中多處的功能稱為橫切關註點   2)通知(Advice):切面完成的工作。通知定了了切面是什麽及何時調用。     5中可以應用的通知:         

Spring入門知識 ———— 初步認識Spring的AOP

一、引言 IOC小編就花了13個章節整體的講了一下,中間可能某些知識點會遺漏,請小夥伴請諒解一下。 今天學習Spring另外一個核心:面向切面程式設計(AOP) AOP內容不多,大概就幾章就搞定了

Spring入門知識 ———— 實現AOP返回通知異常通知環繞通知

一、引言 以你為AOP只有前置通知和後置通知嗎? 那你就錯啦 在AOP中一共有五種方式: @Befor:前置通知:在方法執行之前執行 @After:後置通知,在方法之後執行 @AfterRet

Spring入門學習(基於註解的方式配置Bean) 第十二節

Spring入門學習(基於註解的方式配置Bean) 指定SpringIOC容器掃描包 分別建立`repository,service,controller`層 指定SpringIOC容器掃描包 分別建立reposi

spring多資料來源配置+aop註解方式屬性注入

本文將介紹spring中多個數據源的配置,同時使用註解的方式切換選擇資料來源。 spring的其他配置不再細說,只說資料來源的相關配置。 參考多篇博文實踐整理,不在一一查找出處,如有侵權請及時聯絡 ==================================== 1

Spring何時為使用事務註解的bean建立代理 ?

本文基於Springboot 2.1.0 JPA 應用分析總結。 應用啟動過程中Spring AOP自動配置機制AopAutoConfiguration執行 僅在註解 @EnableAspectJAutoProxy 類存在於classpath

Spring入門學習(事務的傳播) 第二十節

Spring入門學習(事務的傳播) 事務的傳播 事務的傳播 預設的傳播事務為propagation=Propagation.REQUIRED,指定事務的傳播行為,即當前的事務方法被另外一個事務方法呼叫時如何使用事務。@Service("

Spring入門學習(事務管理) 第十九節

Spring入門學習(事務管理) 事務簡介 事務的四個關鍵屬性(ACID) 沒有事務之前 事務管理器 事務簡介 事務就是用來確保資料的完整性和一致性的一系列的動作,它們被當做一個單獨的工作單元,這些動作要

Spring的bean管理(註解注入屬性註解檔案混合使用)

Spring的bean管理(註解注入屬性和註解檔案混合使用) 註解方式注入屬性  1 建立service類,建立dao類,在service得到dao物件     注入屬性第一個註解 @Autowire

spring入門(六) spring mvc+mybatis

odi 創建 mode utf from 針對 namespace tid oca 1.引入依賴 1 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> 2 <depe

Spring事務的傳播行為隔離級別只讀過期

事務的傳播性- 當事務的方法被另一個事務的方法呼叫時,必須指定事務應該如何傳播。如:方法可能繼續在現有的事務中執行,也可能開啟一個新的事務,並在自己的事務中執行。- 事務的傳播行為可以由傳播屬性指定。Spring定義了7種傳播行為:required:如果有事務在執行,當前的方