Spring的事務管理配置

2021-10-08 06:53:35 字數 2067 閱讀 6144

​ spring提供了三大介面來實現事務的控制

platformtransactionmanager

此介面定義了事務的基本操作,因為此類是乙個介面,所以我們建立事務物件,需要用其實現類datasourcetransactionmanager

方法說明datasourcetransactionmanager(datasource datasource)

構造方法,用於建立事務物件

void commit(transactionstatus status)

提交事務,需要提供事務的狀態物件作為引數

void rollback(transactionstatus status)

回歸事務,需要提供事務的狀態物件作為引數

transactionstatus gettransaction(transactiondefinition definition)

獲取事務的狀態物件

transactiondefinition

此介面定義了事務的基本資訊,包括事務的隔離級別,事務的名稱,超時時間等等;要注意的是如果要建立事務定義物件,需要使用其實現類defaulttransactiondefinition

方法說明defaulttransactiondefinition()

構造方法,建立事務定義物件

string getname()

獲取事務定義名稱

boolean isreadonly()

獲取事務的讀寫屬性

int getisolationlevel()

獲取事務隔離級別

transactionstatus

事務狀態物件,此介面定義了事務在執行過程中的資訊,這個介面的實現類物件通過事務管理獲取platformtransactionmanager

方法說明platformtransactionmanager . gettransaction(transactiondefinition definition)

獲取事務狀態物件

boolean isnewtransaction()

獲取事務是否處於新開啟事務狀態

boolean iscompleted()

獲取事務是否處於回滾狀態

void setrollbackonly()

設定事務處於回滾狀態

​ 模擬轉賬業務,也是採用aop的方法,為原始方法增強業務功能。

說明spring 框架本身已經充分考慮了對事物的支援,所以我們完全不必像之前一樣自定義類來實現對事物的控制。spring 已經抽象了一整套的事務機制,而作為開發人員根本不必了解底層的事務 api,所以我們可以採用 spring 提供的管理器實現類,來替換掉之前我們自己編寫的事務控制工具類。

實現步驟

<

tx:method

name

="*"

read-only

="false"

timeout

="-1"

isolation

="default"

no-rollback-for="

" rollback-for="

" propagation

="required"

/>

註解+xml

配置步驟

使用全註解

配置步驟

在spring配置類中開啟事務管理註解驅動

@configuration

@componentscan("com.itheima")

@import()

//啟用事務管理註解驅動

@enabletransactionmanagement

public class springconfig

註解解釋:

在程式的介面/介面方法上使用@transactional註解。

設定@transactional註解所在的當前類/介面中,所有方法或具體方法開啟事務,並指定相關事務屬性。

spring配置事務管理

spring框架的事務管理之基於aspectj的xml方式 重點掌握 配置事務管理器 id transactionmanager class org.springframework.jdbc.datasource.datasourcetransactionmanager name datasourc...

spring事務管理配置

一.基於註解的宣告式事務管理 新增事務配置 注意 開啟事務註解掃瞄出錯時,需要新增 xmlns aop 的命名申明 以下是所以配置 2.實現類加註解 transactional transactional override public int adduser user user 注 spring的...

Spring 配置事務管理說明

前面三種方法都是針對bean來配置 第四種方法針對 中的方法來配置。可能還有其他很多模組。可能只是其中的模組。第一種 配置宣告式事務的方法如下。也是我們最常用的方法了,它適用於你的庫表比較少的情況下。false com.jack.fund.service.ifundservice propagati...