通俗的理解,事務是一組原子操作
單元,從資料庫角度說,就是一組sql指令,要麼全部執行成功,若因為某個原因其中一條指令執行有錯誤,則撤銷先前執行過的所有指令。更簡答的說就是:要麼全部執行成功,要麼撤銷不執行。
事務必須服從iso/iec所制定的acid原則。
spring 事務管理 api
提供乙個介面,代表事務管理器,這個介面針對不同的框架提供不同的實現類
新增約束tx,完整約束如下
<?xml version="1.0" encoding="utf-8"?>
xmlns
=""xmlns:xsi
=""xmlns:aop
=""xmlns:tx
=""xmlns:context
=""xsi:schemalocation
="/spring-beans.xsd
/spring-aop.xsd
/spring-tx.xsd"
>
配置事務管理器,開啟事務註解
"transactionmanager"
class
="org.springframework.jdbc.datasource.datasourcetransactionmanager"
>
name
="datasource"
ref="datasource"
>
property
>
bean
>
<
tx:annotation-driven
transaction-manager
="transactionmanager"
>
tx:annotation-driven
>
@transactional
註解可以使用在service
層類上或者方法上
舉例,當propagation
值為required
和required_new
解決:
有三個問題:
通過設定隔離級別來解決問題。
spring學習筆記(21) 宣告式事務
假設現在要實現乙個轉賬的功能,a轉賬給b,當a扣了100塊錢之後,突然發生了什麼導致程式無法正常執行,這時候,b沒有收到錢。那麼,這100塊錢就不翼而飛了。這時候就需要事務,a扣錢和b收到錢這兩件事要麼都成功,要麼都不成功。使用者支出 param username 使用者名稱 param out 支...
Spring08 宣告式事務
1 回顧事務 事務是什麼?事務的四個屬性 acid 事務併發執行可能引起的問題 事務隔離級別 transaction isolation levels spring 中的7個事務傳播行為 2 測試事務public class userserviceimpl implements userservic...
10 宣告式事務
1.程式設計式事務 由程式設計師程式設計事務控制 opensessionlnview程式設計式事務 2.宣告式事務 事務控制 已經由spring寫好,程式設計師只需要宣告出哪些方法需要進行事務控制和如何進行事務控制。這裡講解的是 註解配置事務,如果想去理解xml的同學 可以看看其它的 這裡只講解註解...