配置事務管理器
配置事務的通知
- tx:advice標籤配置事務通知
- id:給事務通知起乙個唯一標識
- transaction-manager:給事務通知提供乙個事務管理器引用
配置aop的通用切入點表示式
建立事務通知和切入點表示式的對應關係
配置事務的屬性
- 在事務的通知tx:advice標籤中:tx:method
配置事務的屬性
- isolation:用於指定事務的隔離級別,預設default,表示使用資料庫的預設隔離級別
- propagation:用於指定事物的傳播行為,預設值為required,表示一定會有事務,增刪改的操作。查詢方法用supports
- read-only:用於指定事務是否唯讀。只有查詢方法才可以設定為true,預設值為false,表示讀寫
- timeout:用於指定事務的超時時間,預設值為-1,表示永不超時,如果指定數值,則以秒為單位
- rollback-for:指定乙個異常,當產生該異常時,事務回滾,其他異常不回滾,沒有預設值,表示任何異常都回滾。
- no-rollback-for:指定乙個異常,產生該異常時,事務不回滾,其他異常時回滾,沒有預設值,表示任何異常都回滾
配置事務管理器
開啟spring對事務註解的支援
在需要事務支援的地方使用@transaction
在方法上面加上註解,並且配置相關屬性(上文有)
Spring宣告式事務控制
什麼是事務控制?與資料庫建立連線connection後,每一次的進行查詢 更新操作,如果沒有將其歸為乙個事務,則是獨立進行的。而這樣會導致一些錯誤場景的發生。經典的如銀行轉賬業務,轉出方錢減少了,期間發生了異常,對方的錢卻沒有到賬等情況 為什麼要先了解程式設計式事務?宣告式事務底層即通過程式設計式事...
Spring配置宣告式事務控制
transactionmanager class org.springframework.jdbc.datasource.datasourcetransactionmanager name datasource ref datasource property bean tx adviceid txm...
spring基於XML的宣告式事務控制
首先再我們的ioc容器中配置事務管理器的bean物件 然後給事務管理器中注入資料來源 然後配置事務通知,此時我們需要重新匯入事務的約束,因為一開始我們沒有匯入aop和tx的約束 配置事務通知的標籤 id屬性標識給事務通知起乙個唯一標準 transaction manager屬性用於給事務通知提供乙個...