在業務層聲明 transactionTemplate 而且聲稱一個set方法等着spring來注入
在須要事物控制的地方執行 execute。可是這個execute須要一個參數
須要的參數是TransactionCollback可是這個是一個接口。想用的話就須要找他它的實現類
這裏不找實現類,就寫匿名內部類
生成未實現的方法。生成的方法就叫作doInTransaction
就能夠把咱們的主要代碼挪進來
這樣涉及到事務提交的地方。都須要代碼加在transactionTemplate的execute方法裏面。這樣產生不少重複性的代碼
背離了AOP的思想。重複代碼提取出來
編程式的事務能夠實現。可是由靈活變成 不靈活了。
Service須要注入模板對象
運行測試
事務被控制住了
註釋異常
轉帳也成功
spring