一、说明
1.1 项目结构说明
- 切面配置位于 com.heibaiying.config 下
AopConfig
; - 自定义切面位于 advice 包下,其中
CustomAdvice
是标准的自定义切面,FirstAdvice
和SecondAdvice
用于测试多切面共同作用于同一个切入点时的执行顺序; OrderService
是待切入方法。
1.2 依赖说明
除了 Spring 的基本依赖外,需要导入 AOP 依赖包:
<!--aop 相关依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring-base-version}</version>
</dependency>
二、Spring AOP
2.1 准备工作
创建待切入的接口及其实现类:
public interface OrderService {
Order queryOrder(Long id);
Order createOrder(Long id, String productName);
}
public class OrderServiceImpl implements OrderService {
public Order queryOrder(Long id) {
return new Order(id, "product", new Date());
}
public Order createOrder(Long id, String productName) {
// 模