1.Spring事務(wù)執(zhí)行的原理;
- Spring事務(wù)使用AOP的機(jī)制實(shí)現(xiàn),會(huì)在@Transcactional注解修飾的方法前后織入部分邏輯(包括開啟事務(wù)迈嘹、提交事務(wù)及事務(wù)回滾操作等)鸟蟹;
- @Transactional注解可以修飾在類或方法上,與修飾在方法上不同森书,修飾在類上可以使類中符合條件的所用方法實(shí)現(xiàn)事務(wù)(private類型方法不能開啟事務(wù))靶端;
2.Spring事務(wù)傳播傳播機(jī)制
-
REQUIRED(默認(rèn)值)
支持當(dāng)前事務(wù),若沒有事務(wù)則新建一個(gè)事務(wù)凛膏; -
SUPPORTS
支持當(dāng)前事務(wù)杨名,如果沒有事務(wù)的話以非事務(wù)方式運(yùn)行; -
MANDATORY
支持當(dāng)前事務(wù)猖毫,如果當(dāng)前沒有事務(wù)則拋出異常台谍; -
REQUIRED_NEW
創(chuàng)建一個(gè)新的事務(wù),并掛起當(dāng)前事務(wù)吁断; -
NOT_SUPPORTS
以非事務(wù)方式執(zhí)行趁蕊,如果當(dāng)前事務(wù)存在則將當(dāng)前事務(wù)掛起坞生; -
NEVER
以非事務(wù)方式執(zhí)行,若當(dāng)前存在事務(wù)則拋出異常介衔; -
NESTED
如果當(dāng)前存在事務(wù)恨胚,則在嵌套事務(wù)內(nèi)執(zhí)行。如果當(dāng)前沒有事務(wù)炎咖,則進(jìn)行與REQUIRED類似的操作