使用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方法发生异常后要回滚业务。
指定将配置好的事务通知,织入给谁。
测试类中要从容器中获取的是目标对象。