Spring事務管理總結

2021-08-22 09:58:41 字數 1914 閱讀 4136

事務:指邏輯上的一組操作,這組操作要麼都成功,要麼都失敗。

了解幾個名詞概念:

髒讀 ---- 乙個事物讀取領乙個事務改寫但未提交的資料,如果這些資料被回滾,則讀到的資料是無效的

不可重複讀 --- 同一事務中,多次讀取同一資料返回結果有所不同

幻讀 --- 乙個事務讀取了幾行記錄後,另乙個事務插入一些記錄,幻讀就發生了,再來查詢,第乙個事務就會發現原來沒有的記錄

mysql預設採用repeatble_read隔離級別

oracle預設採用read_committed隔離級別

三大類  :1)支援當前事務,保證在乙個事務裡(著重記第乙個紅色圈著的)1-3

2) 不支援當前事務,保證不在乙個事務裡(同樣著重紅色圈的)4-6

3)巢狀事務  7

1、程式設計式事務管理:通過transactiontemplate**中手動管理事務,實際中使用較少

xml配置如下圖:

類裡面**管理事務:

2、宣告式事務管理:spring 的宣告式事務管理在底層是建立在 aop 的基礎之上的。其本質是對方法前後進行攔截,然後在目標方法開始之前建立或者加入乙個事務,在執行完目標方法之後根據執**況提交或者回滾事務

1)基於transactionproxyfactorybean申明方式:需為每個事務管理類配置乙個transactionproxyfactorybean,使用還需要在類中注入該**(在 spring 2.0 中已經不推薦了)

xml配置:

上圖**層事務屬性(prop)的詳細配置:

service層必須注入**類:

2)基於aspectj( 和 命名空間)的宣告方式:最大特點是與 spring aop 結合緊密,可以充分利用切點表示式的強大支援,使得管理事務更加靈活。配置好後,按照方法名進行管理,無需在類中新增**(推薦使用)

基於aspectj的xml配置:

3)基於註解@transactional 的申明方式:只需在配置檔案中加上一行啟用相關後處理 bean 的配置,然後在需要實施事務管理的方法或者類上使用 @transactional 指定事務規則即可實現事務管理(將宣告式事務管理簡化到了極致,更推薦使用)

xml配置相當簡單:

service業務層使用註解:

以上是spring事務管理的乙個學習總結,主要就是管理方式分2大類:程式設計式(基本不用)和申明是(分三種,其中以aspectj和註解@transactional2種方式常用)

Spring事務管理總結

總結 spring將事務管理分成了兩類 程式設計式事務管理 手動編寫 進行實物管理.很少使用 宣告式事務管理 基於transactionproxyfactorybean方式.很少使用 需要為每個進行事務管理的類配置乙個transactionproxyfactorybean進行增強.基於aspectj...

Spring事務管理

spring是ssh中的管理員,負責管理其它框架,協調各個部分的工作。今天一起學習一下spring的事務管理。spring的事務管理分為宣告式跟程式設計式。宣告式就是在spring的配置檔案中進行相關配置 程式設計式就是用註解的方式寫到 裡。下面先說宣告式 spring配置檔案中關於事務配置總是由三...

spring事務管理

一 xml配置事務 二 註解的方式配置事務 bean id txmanaager class org.springframework.orm.hibernate3.hibernatetransactionmanager property name sessionfactory ref session...