使用 XML 配置事务代理的方式的不足是,每个目标类都需要配置事务代 理。当目标类较多,配置文件会变得非常臃肿。
使用 XML 配置顾问方式可以自动为每个符合切入点表达式的类生成事务代 理。其用法很简单,只需将前面代码中关于事务代理的配置删除,再替换为如 下内容即可。
Step1:复制项目
复制 trans_sale 项目,并重命名为 trans_sal_aop。在此基础上修改。
整体项目结构如下:
Step2:maven 依赖 pom.xml
新加入 aspectj 的依赖坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.3.26</version>
</dependency>
Step3:在容器中添加事务管理器
Step4:配置事务通知
为事务通知设置相关属性。用于指定要将事务以什么方式织入给哪些方法。 例如,应用到 buy 方法上的事务要求是必须的,且当 buy 方法发生异常后要回滚业务。
Step5:配置增强器
指定将配置好的事务通知,织入给谁。
Step6:修改测试类
测试类中要从容器中获取的是目标对象。
运行程序:
查看数据库: