spring boot aop 事務處理
阿新 • • 發佈:2020-09-02
@Translational 描述的方法是一個事務切入點方法
方法執行之前會開啟事務
執行之後會提交或回滾事務
由DataSourceTransactionManager封裝具體事務實現
/**
- 在業務層物件的類上添加了@Transactional註解,表示類中所有方法都要進行事務控制:
- 1)開啟事務
- 2)執行目標方法
- 3)提交或回滾事務
- FAQ?
- 1)事務屬性timeout的含義是什麼?是否允許事務超時,預設不允許(-1),一直等.
- 2)事務屬性rollbackFor表示什麼?出現什麼異常事務要回滾
- 3)事務屬性readOnly含義是什麼?這裡的事務是否為只讀事務.(只讀事務中不允許執行更新操作)
- 4)事務屬性isolation含義是什麼?用於設定隔離級別I(多個事務併發執行時可能會出現什麼問題?-髒讀,不可重複讀,幻讀)
*/
@Transactional(timeout =60,rollbackFor = Throwable.class,readOnly = false
,isolation = Isolation.READ_COMMITTED,
propagation = Propagation.REQUIRED)
方法上的優先順序高於類上的
@Transactional(noRollbackFor = ServiceException.class)