一、说明
1.1 项目结构说明
切面配置位于 resources 下的 aop.xml
,其中 CustomAdvice 是自定义切面类,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) {
// 模拟抛出异常
// int j = 1 / 0;
return new Order(id, "new Product", new Date());
}
}
2.2 自定义切面
public class CustomAdvice {
/**
*前置通知
*/
public void before(JoinPoint joinPoint