Spring的宣告式事務介紹

2021-09-12 02:53:29 字數 1173 閱讀 5675

簡介:

.spring框架引入的重要因素之一是它全面的事務支援.

.spring框架提供了一致的事務管理方式,給程式帶來以下好處

-提供簡單易用的程式設計式事務管理api.(程式設計式事務就是通過實現或者借助spring提供的api完成事務管理)

-支援宣告式事務管理(通過註解和配置的方式完成事務管理而不需要在業務**實現任何的spring api)

-便於spring整合各種資料訪問技術(mybatis,hibernate,)

2.spring的宣告式事務

spring的宣告式事務是通過spring aop實現的,使用時不需要修改原有的業務**,只

需要通過簡單配置就可以追加事務控制功能

.絕大多數spring的使用者選擇宣告式事務,方便,對程式的影響很小,符合非侵入式的概念

2.通過配置檔案配置的方式

步驟一:取消事務註解

步驟二:使用xml配置宣告事務範圍

ps:說明:以上配置都是預設配置,只會runtimeexception進行回滾,無法對checkedexception

生效.解決方式:rollback-for屬性擴大範圍

runtimeexception              check exception

nosuchmethodexception

ioexception

classnotfoundexception

屬性詳細說明:

rollback-for:設定遇到哪些異常必須回滾

norollback-for:設定遇到哪些異常不回滾

propagation:設定傳播屬性

isolation:設定事務隔離級別

readonly:設定為唯讀,還是可讀寫

事務的隔離級別:

.在讀取資料庫的過程中,如果兩個事務併發執行,那麼彼此之間的資料就會發生影響,

為了表明這種併發產生的衝突,需要將兩個事務隔離開,根據隔離的程度不同可以分為

以下幾種級別

read_uncommitted:只是事務隔離的最低級別,它可以允許你看到另外乙個事務已修改

但未提交的資料.

read_committed:這是主流資料庫預設事務等級,保證了乙個事務不會讀取到另乙個併發

事務已經修改但未提交的資料,該級別適合於大多數系統

default:使用資料庫的隔離級別.

Spring宣告式事務

net.sf.hibernate.dialect.oracle9dialect false true net.sf.hibernate.transaction.jdbctransactionfactory 1025 用heibernate來管理事務 當用spring和heibernate一起完成da...

spring宣告式事務

1.什麼是事務 事務是程式中一系列嚴密的操作,所有操作執行必須成功完成,否則在每個操作所做的更改將會被撤銷,這也是事務的原子性 要麼成功,要麼失敗 2.事務的特性 事務特性分為四個 原子性 atomicity 一致性 consistency 隔離性 isolation 持續性 durability ...

Spring 宣告式事務

propagation 事務傳播機制有如下幾種 required 預設值,表示如果存在乙個事務,則支援當前事務 如果沒有事務,則開啟乙個新事務。requires new 表示總是開啟乙個新的事務,如果乙個事務已經存在,則將這個存在的事務掛起,開啟新事務執行該方法。mandatory 表示如果存在乙個...