SPRing事務(wù):
實現(xiàn)原理:AOP
切入點、切面、連接點
AOP的實現(xiàn)原理是:動態(tài)代理,有jdk動態(tài)代理和CGLIB。
1.事務(wù)隔離級別:
根據(jù)數(shù)據(jù)庫概念可以分為:臟讀、讀寫提交、可重復(fù)讀、序列化
不同的數(shù)據(jù)庫所支持的隔離級別不同,例如Oracle支持是讀寫提交和序列化,默認為讀寫提交,MySQL默認的隔離級別為可重復(fù)讀。
2.事務(wù)的傳播行為
傳播行為就是指在方法之間的掉用。
支持7中傳播行為
傳播行為 | 含義 | 備注 |
PROPAGATION_REQUIRED | 如果存在一個事務(wù),則支持當前事務(wù)。如果沒有事務(wù)則開啟。 | 默認的 |
PROPAGATION_SUPPORTS | 如果存在一個事務(wù),則支持當前事務(wù)。如果沒有事務(wù)則非事務(wù)執(zhí)行。 |
|
PROPAGATION_MANDATORY
| 如果存在一個事務(wù),則支持當前事務(wù)。如果沒有事務(wù)則拋出異常。 |
|
PROPAGATION_REQUIRES_NEW | 總是開啟一個新事務(wù),如果存在一個事務(wù)則將這個事務(wù)掛起。 | 在信用卡場景中,我們往往需要這個傳播行為為每一個卡創(chuàng)建獨立的事務(wù) |
PROPAGATION_NOT_SUPPORTED | 總是非事務(wù)得執(zhí)行,并掛起任何存在的事務(wù)。 |
|
PROPAGATION_NEVER | 總是非事務(wù)得執(zhí)行,如果存在一個活動的事務(wù),則拋出異常。 |
|
PROPAGATION_NESTED | 如果一個活的事務(wù)存在,則運行在一個嵌套的事務(wù)中;如果沒有活動事務(wù),TransactionDefinition. PROPAGATION_REQUIRED屬性執(zhí)行 |
|
新聞熱點
疑難解答