spring中@Transcation(事務)的運用及注意事項

一、什麼是事務?

事務,是指作爲單個邏輯工作單元執行的一系列操作,結果只有成功和失敗兩種,要麼全部成功,要麼全都失敗,及時成功了一部分,也視爲失敗,執行全部回滾操作

二、事務的4個特性是什麼

原子性、一致性、持久性、隔離性

三、spring支持的兩種事務管理方式

1、編程式事務

2、聲明式事務

@Transcation註解,就屬於聲明式事務管理,聲明式事務管理是建立在AOP之上的,其本質是對方法前後進行攔截,然後在目標方法開始之前創建或者加入一個事務,在執行完目標方法之後根據執行情況提交或者回滾事務,

優點:不在業務代碼中編寫事務管理代碼

缺點:最小顆粒度是在方法上,編程式可以作用在代碼級別上

編程式事務,指的是在代碼塊中開啓事務,提交事務,回滾事務,最小顆粒度是代碼塊,缺點就是將業務代碼與事務代碼耦合

四、聲明式註解不起作用的原因

1、數據庫本身不支持事務(mysql數據庫中InnoDB支持事務,MyIsam不支持)

2、Transcation註解所在的類沒有加載成bean

3、Transcation註解所在的方法不是public修飾的

4、所在數據源沒有加載事務管理器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章