spring事務的理解
事務的四個特性:
原子性(atomicity):事務是乙個原子操作,由一系列動作組成。事務的原子性確保動作要麼全部完成,要麼完全不起作用。
一致性(consistency):一旦事務完成(不管成功還是失敗),系統必須確保它所建模的業務處於一致的狀態,而不會是部分完成部分失敗。在現實中的資料不應該被破壞。
隔離性(isolation):可能有許多事務會同時處理相同的資料,因此每個事務都應該與其他事務隔離開來,防止資料損壞。
永續性(durability):一旦事務完成,無論發生什麼系統錯誤,它的結果都不應該受到影響,這樣就能從任何系統崩潰中恢復過來。通常情況下,事務的結果被寫到持久化儲存器中。
spring對事務的支援是建立在資料庫事務的基礎之上的。
宣告式事務管理建立在aop之上的。其本質是對方法前後進行攔截,然後在目標方法開始之前建立或者加入乙個事務,在執行完目標方法之後根據執**況提交或者回滾事務。宣告式事務最大的優點就是不需要通過程式設計的方式管理事務,這樣就不需要在業務邏輯**中摻雜事務管理的**,只需在配置檔案中做相關的事務規則宣告(或通過基於@transactional註解的方式),便可以將事務規則應用到業務邏輯中。
spring事務分類
spring提供四種事務的支援:
1.org.springframework.jdbc.datasource.datasourcetransactionmanager
提供對ibatis、mybatis等jdbc的操作的事務支援;
2.org.springframework.orm.hibernate3.hibernatetransactionmanager
提供對hibernate框架的事務支援,支援3以上的版本;
3.org.springframework.orm.jpa.jpatransactionmanager
4.org.springframework.transaction.jta.jtatransactionmanager
提供分布式事務支援
spring事務配置
spring事務引數
spring事務巢狀
spring事務深入機制
spring 在啟動的時候會去解析生成相關的bean,這時候會檢視擁有相關註解的類和方法,並且為這些類和方法生成**,並根據@transaction的相關引數進行相關配置注入,這樣就在**中為我們把相關的事務處理掉了(開啟正常提交事務,異常回滾事務)。
真正的資料庫層的事務提交和回滾是通過binlog或者redo log實現的。
spring事務異常捕獲
相關資料
spring 事務的總結
1.初識事務 事務就是對資料資源進行可控的一組訪問操作。為保證事務執行前後,資料資源所承載的系統狀態所處於正確的狀態,事務本身有四個屬性 原子 性,一致性,隔離性和永續性。原子性 原子性要求所有操作是乙個整體,要麼全部提交,要麼全部失敗。一致性 要求事務對資料資源執行一致性檢查,事務提交之前是處於某...
spring事務總結
1.spring中被標有 transactional註解 也就是事務 的方法不能夠自己呼叫自己。2.在同乙個service實現類中,不同的方法之間可以相互呼叫。3.spring框架的事務基礎架構 將預設地只在丟擲執行時和unchecked exceptions時才標識事務回滾。也就是說,當丟擲乙個 ...
spring 事務總結
tx是由aop實現的 aop的實現方式 1 方式 spring aop 1.jdk的基於介面方式 2.cglib的基於類的方式 修改位元組碼,加入extend 類?這兩種 方式 都存在父子關係,也跟日常生活中的 一樣。具體可以參考動態 模式 2 非 aspectj?這貨沒用 實現?有空看看cglib...