使用XML配置事務代理的方式的不足是,每個目標類都需要配置事務代理。當目標類較多,配置文件會變得非常臃腫。
使用XML配置顧問方式可以自動為每個符合切入點表達式的類生成事務代理。其用法很簡單,只需將前面代碼中關于事務代理的配置刪除,再替換為如下內容即可。
復制trans_sale項目,并重命名為trans_sal_aspectj。在此基礎上修改。
新加入aspectj的依賴坐標
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.16.RELEASE</version>
</dependency>
Step3:在容器中添加事務管理器
為事務通知設置相關屬性。用于指定要將事務以什么方式織入給哪些方法。
例如,應用到buy方法上的事務要求是必須的,且當buy方法發生異常后要回滾業務。
指定將配置好的事務通知,織入給誰。
測試類中要從容器中獲取的是目標對象。