1. 程式人生 > 實用技巧 >spring boot aop 事務處理

spring boot aop 事務處理

@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)