Spring事務管理是怎么樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

鄠邑網站制作公司哪家好,找創新互聯!從網頁設計、網站建設、微信開發、APP開發、響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯從2013年創立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯。
Spring事務管理有事務傳播,事務隔離,事務并發處理等。
事務傳播
1、required:方法在一個事務中執行,如果調用的方法在一個事務中,則使用該事務,否則將創建一個新的事務。(必須有,有就用,沒有就建)
2、mandatory:如果運行于事務中的客戶調用了該方法,方法在客戶的事務中執行。如果客戶沒有關聯到事務中,容器就會拋出TransactionRequiredException.(必須有,有就用,沒有報錯)
3、requiresnew:方法將在一個新的事務中執行,如果調用的方法已經在一個事務中,則暫停舊的事務。在調用結束后恢復舊的事務。(必須有,有沒有都要建)
4、supports:如果方法在一個事務中被調用,則使用該事務,否則不使用事務。(有沒有都中,有就用,沒有不用)
5、not_supported:如果方法在一個事務中被調用,容器會在調用之前終止該事務。在調用結束后,容器會恢復客戶事務。如果客戶沒有關聯到一個事務中,容器不會入運行在該方法啟動一個新的事務。用notsupported屬性標識不需要事務的方法。因為事務會帶來更高的性能支出,所以這個屬性可以提高性能。(不需要,有就掛起事務,沒有直接運行)
6、Never:如果在一個事務中調用該方法,容器會拋出RemoteException。如果客戶沒有關聯到一個事務中,容器不會在運行入該方法前啟動一個新的事務。(必須沒有,有就報錯,沒有就直接運行)
事務隔離
為什么要使用事物隔離,是因為事物并發引起的一些錯誤現象
并發問題:
臟讀:一個事務讀取了未提交的事務
不可重復讀:同一個事務中多次讀取同一個數據返回的結果不同
幻讀:一個事務讀取到了另一個事務已提交的insert數據。
事務并發處理:
共享鎖:共享鎖用于讀取數據操作,它允許其他事務同時讀取某鎖定的資源,但不允許其他事務更新它。
排他鎖:排它鎖用于修改數據的場合。它鎖定的資源,其他事務不能讀取也不能修改。
更新鎖:更新鎖在更新操作的初始化階段用來鎖定可能要被修改的資源,從而避免使用共享鎖造成的死鎖現象。
事務隔離級別:
ReadUncommitted:讀未提交數據,該選項指示數據庫讀取數據時不使用任何鎖。在這種情況下,事務可以讀取到未提交的數據,會出現臟讀,不可重復讀和幻讀現象。
ReadCommited:
該選項只會返回"讀取時間點"之前已提交的數據。因此可以避免臟讀,但是會出現不可重復讀,另外還會出現幻讀現象。
RepeatableRead:該選項能夠保證可重復讀,可以避免臟讀和不可重復讀。
Serializable:該選項能夠避免臟讀、不可重復讀和幻讀現象,是最嚴格的隔離級別。
關于Spring事務管理是怎么樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。
分享題目:Spring事務管理是怎么樣的
文章起源:http://www.yijiale78.com/article32/gihopc.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、企業建站、網站內鏈、定制網站、靜態網站、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯