應用場景:一個月前在學校做一個羽毛球館的項目時,那個時候用的是springboot,然后項目分成幾個模塊,教練模塊,學生模塊,管理員模塊,場地模塊等等,然后Service層是按模塊化進行的設計。
但是這種模塊的業務層設計,導致了后面需要實現一個復雜的任務時,需要組合多個Service里的多個DAO來完成。而那個時候不會這種多Service連續運行的事務處理。在測試的時候耗費了很多時間回數據庫里去做臟數據的清除(因為經常某個模塊出現了bug)
解決方法:采取了注解的事務配置,如下圖:
解析:采取了把多個Service組合在一個新的業務Service里,然后通過注冊新的事務,並配置了事務傳播, 所以下面的幾個被調用的Service可以共享同一個事務。
場景:利用了int i = 1/0;//斷電 這種運行時異常來進行事務的測試
實驗結果如下:
總結:從今天開始,多實驗,多敲代碼,萬一以后真的找不到工作該怎么辦才好😔