日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring的事务管理1

發布時間:2025/4/14 javascript 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring的事务管理1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

事務的回顧:

  • 事務:邏輯上的一組操作,組成這組事務的各個單元,要么全部成功,要么全部失敗

事務的特性:ACID

  • 原子性(Atomicity):事務不可分割
  • 一致性(Consistency):事務執行前后數據完整性保持一致
  • 隔離性(Isolation):一個事務執行不應該受到其他事務的干擾
  • 持久性(Durability):一旦事務結束,數據就持久化到數據庫

如果不考慮隔離性引發安全問題:

讀問題:

  • ??? 臟讀:一個事務讀到另一個事務未提交的數據
  • ??? 不可重復讀:一個事務讀到另一個事務已經提交的update數據,導致另一個事務中多次查詢結果不一致
  • ??? 虛讀、幻讀:一個事務讀到另一個事務已經提交的insert數據,導致另一個事務中多次查詢結果不一致

解決讀問題:

設置事務的隔離級別:開發常用二三。非常安全,效率低。

  • ??????? Read uncommitted: 未提交讀,任何讀問題解決不了
  • ??????? Read Committeed? : 已提交讀, 解決臟讀,但是不可重復讀和虛讀有可能發生。Oracle
  • ????? ? Repeatable read?? : 重復讀,解決臟讀和不可重復讀,但是虛讀有可能發生。mysql
  • ???? ?? Serializable:????? 解決所有讀問題

寫問題:

  • ????? 丟失更新

事務管理的API:

PlatformTransactionManager:平臺事務管理器

平臺事務管理器:接口,是Spring管理事務的真正對象

  • DataSourceTransactionManager:底層是JDBC管理事務
  • HibernateTransactionManager:底層是Hibernate管理事務

TransactionDefinition:事務定義信息

  • 事務定義:用于定義事務的相關信息,隔離級別,超時信息、傳播行為、是否只讀。
  • TransactionStates:事務的狀態,用于記錄在事務管理過程中事務的狀態的對象。

TransactionStates:事務的狀態

  • 事務狀態:用于記錄在事務管理過程中,事務的狀態的對象。

事務管理的API的關系:

Spring進行事務管理的時候,首先是平臺事務管理器根據事務定義信息進行事務的管理。

在事務管理過程中,產生各種狀態,將這些狀態信息記錄到事務狀態的對象中。

Spring事務的傳播行為:主要解決事務在業務層方法相互調用的問題

 Spring中提供了七種事務的傳播行為:

  保證多個操作在同一個事務中

? PROPAGATION_REQUIRED???? :默認值,如果A中有事務,使用A中的事務,如果A沒有,創建一個新的事務,將操作包含進來

? PROPAGATION_SUPPORTS???? :支持事務,如果A中有事務,使用A中的事務。如果A沒有事務,不使用事務。

 ? PROPAGATION_MANDATORY?? :如果A中有事務,使用A中的事務。如果A沒有事務,拋出異常。

?

???? 保證多個操作不在同一個事務中

? PROPAGATION_REQUIRES_NEW ?? :如果A中有事務,將A的事務掛起(暫停),創建新事務,只包含自身操作。如果A中沒有事務,創建一個新事務,包含自身操作。

? PROPAGATION_NOT_SUPPORTED :如果A中有事務,將A的事務掛起。不使用事務管理。

? PROPAGATION_NEVER??????? ?? :如果A中有事務,報異常。

?

????? 嵌套式事務

? PROPAGATION_NESTED?????? :嵌套事務,如果A中有事務,按照A的事務執行,執行完成后,設置一個保存點,執行B中的操作,如果沒有異常,執行通過,如果有異常,可以選擇回滾到最初始位置,也可以回滾到保存點。

?

?

轉載于:https://www.cnblogs.com/zengcongcong/p/10406539.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Spring的事务管理1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。