理解Spring事務管理

2021-09-29 01:32:58 字數 786 閱讀 7964

理解事務之前,先講乙個你日常生活中最常幹的事:取錢。

比如你去atm機取1000塊錢,大體有兩個步驟:首先輸入密碼金額,銀行卡扣掉1000元錢;然後atm出1000元錢。

這兩個步驟必須是要麼都執行要麼都不執行。

如果銀行卡扣除了1000塊但是atm出錢失敗的話,你將會損失1000元;

如果銀行卡扣錢失敗但是atm卻出了1000塊,那麼銀行將損失1000元。

所以,如果乙個步驟成功另乙個步驟失敗對雙方都不是好事,如果不管哪乙個步驟失敗了以後,整個取錢過程都能回滾,也就是完全取消所有操作的話,這對雙方都是極好的。

事務就是用來解決類似問題的。事務是一系列的動作,它們綜合在一起才是乙個完整的工作單元,這些動作必須全部完成,如果有乙個失敗的話,那麼事務就會回滾到最開始的狀態,彷彿什麼都沒發生過一樣。

在企業級應用程式開發中,事務管理必不可少的技術,用來確保資料的完整性和一致性。

事務有四個特性:acid

原子性(atomicity):事務是乙個原子操作,由一系列動作組成。事務的原子性確保動作要麼全部完成,要麼完全不起作用。

一致性(consistency):一旦事務完成(不管成功還是失敗),系統必須確保它所建模的業務處於一致的狀態,而不會是部分完成部分失敗。在現實中的資料不應該被破壞。

隔離性(isolation):可能有許多事務會同時處理相同的資料,因此每個事務都應該與其他事務隔離開來,防止資料損壞。

永續性(durability):一旦事務完成,無論發生什麼系統錯誤,它的結果都不應該受到影響,這樣就能從任何系統崩潰中恢復過來。通常情況下,事務的結果被寫到持久化儲存器中。

spring事務管理(事務的理解)

事務必須服從acid原則。acid指的是 1.原子性 atomicity 2.一致性 consistency 3.隔離性 isolation 4.永續性 durability 理解為,事務其實就是一系列指令的集合。在許多事務處理同乙個資料時,如果沒有採取有效的隔離機制,那麼併發處理資料時,會帶來一些...

Spring事務管理

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

spring事務管理

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