Spring入門學習(事務的傳播) 第二十節

2021-09-08 09:37:02 字數 853 閱讀 4000

預設的傳播事務為propagation=propagation.required,指定事務的傳播行為,即當前的事務方法被另外乙個事務方法呼叫時如何使用事務。

@service

("bookshopservice"

)public

class

bookshopserviceimpl

implements

bookshopservice

}

測試**:
// 測試事務的傳播行為

@test

public

void

testtansactionpropagation()

當aa的餘額有300,當前庫存為1001有10本,1002有10本,執行後都可購買成功。

當指定propagation=propagation.requires_new時, 表示啟用新事務,使用自己的事務執行,如果有事務在執行就應該先掛起它,再次執行後結果為:

第一本書購買成功,第二本書由於餘額不足購買失敗

spring事務傳播

採用程式設計式事務 1 getcurrentsession 與opensession 的區別?採用getcurrentsession 建立的session會繫結到當前執行緒中,而採用opensession 建立的session則不會 採用getcurrentsession 建立的session在co...

Spring事務傳播

required 預設 如果當前存在事務,就加入該事務,如果不存在,則建立乙個新的事務 supports 如果呼叫者有事務,則加入該事務,如果沒有,則以非事務方式執行 mandatory 如果存在事務,則加入該事務,如果不存在事務,則拋異常 requires new 重新建立乙個新的事務,如果當前存...

Spring事務傳播

package org.springframework.transaction import org.springframework.lang.nullable public inte ce transactiondefinition 事務的傳播面向的是乙個方法在另乙個方法中執行時對事務的處理方式。...