簡介:
.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 表示如果存在乙個...