相關文件:Spring官方文件
相關程式碼:github
在前面的文章異常發生時的回滾機制裡講到,當發生checked exception時將處理權交給了呼叫方。在這裡介紹一種逼不得已,不推薦使用的手動回滾事務的方法:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
此方法之所以逼不得已,不推薦使用,是因為Spring更推薦一種不具侵入性的方法:宣告式的事務處理。宣告式的事務處理能夠將領域程式碼(業務程式碼)和具體框架脫離,而不是緊緊得繫結在一起。