Spring AOP的简单使用
主要功能
在指定一部分的controller前后执行同一逻辑
使用场景
日志记录、权限验证等。
简单使用步骤
pom
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
- 定义切入点
// 下面的切入点是com.package.class类里面的全部方法
@Pointcut(value = "execution(* com.package.class.*(..))")
public void pointOffCut(){
}
- 在上一步的切入点上,添加需要执行的逻辑
@Around("pointOffCut()")
public Object doAround(ProceedingJoinPoint pip) throws Throwable {
// 这里可以执行切入的方法执行之前的一些逻辑,比如权限验证
// 获取全部参数
Object[] args = pip.getArgs();
// 方式切入的方法本体,并返回结果
Object res = pip.proceed();
// 这里可以执行切入的方法执行后的逻辑,比如记录方法执行的时间
// 将结果返回
return res;
}