網站首頁 編程語言 正文
事務四個屬性ACID
-
原子性(atomicity)
事務是原子性操作,由一系列動作組成,事務的原子性確保動作要么全部完成,要么完全不起作用 -
一致性(consistency)
一旦所有事務動作完成,事務就要被提交。數據和資源處于一種滿足業務規則的一致性狀態中 -
隔離性(isolation)
可能多個事務會同時處理相同的數據,因此每個事務都應該與其他事務隔離開來,防止數據損壞 -
持久性(durability)
事務一旦完成,無論系統發生什么錯誤,結果都不會受到影響。通常情況下,事務的結果被寫到持久化存儲器中
代碼?
來看下面這一串代碼
<!--結合AOP實現事務的植入-->
<!--配置事務的類-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!--給哪些方法配置事務-->
<!--配置事務的傳播特性:new propagation= -->
<tx:attributes>
<tx:method name="add" propagation="REQUIRED"/>
<tx:method name="delete" propagation="REQUIRED"/>
<tx:method name="update" propagation="REQUIRED"/>
<tx:method name="query" read-only="true"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!--配置事務切入-->
<aop:config>
<aop:pointcut id="txPointCut" expression="execution(* com.qi.mapper.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/>
</aop:config>
?可以發現里面使用了配置事務(<tx:method?name="add"?propagation="REQUIRED"/>)
解釋這種事務傳播行為就是多個事務方法相互調用時,事務如何在這些方法間傳播。
spring支持7種事務傳播行為
-
propagation_requierd:如果當前沒有事務,就新建一個事務,如果已存在一個事務中,加入到這個事務中,這是最常見的選擇(默認就是這種選擇)
-
propagation_supports:支持當前事務,如果沒有當前事務,就以非事務方法執行。
-
propagation_mandatory:使用當前事務,如果沒有當前事務,就拋出異常。
-
propagation_required_new:新建事務,如果當前存在事務,把當前事務掛起。
-
propagation_not_supported:以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
-
propagation_never:以非事務方式執行操作,如果當前事務存在則拋出異常。
-
propagation_nested:如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則執行與propagation_required類似的操作
?總結:事務在項目開發過程非常重要,因為這涉及到數據的一致性的問題
原文鏈接:https://blog.csdn.net/m0_73944607/article/details/134775173
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-06-20 詳解Python列表解析式的使用方法_python
- 2022-09-05 Spark repartitionAndSortWithinPartitions
- 2022-04-24 C語言的隨機數rand()函數詳解_C 語言
- 2023-01-12 Python讀取及保存mat文件的注意事項說明_python
- 2024-04-04 multipartFile轉file類型方法
- 2023-07-15 css背景顏色不顯示
- 2022-05-21 Python中with上下文管理協議的作用及用法_python
- 2022-08-30 Token的生成、Token的作用及Base編碼的注意事項
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支