Spring的切面操作

Spring AOP的简单使用

主要功能

在指定一部分的controller前后执行同一逻辑

使用场景

日志记录、权限验证等。

简单使用步骤

  1. pom 添加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
  1. 定义切入点
// 下面的切入点是com.package.class类里面的全部方法
@Pointcut(value = "execution(* com.package.class.*(..))")
public void pointOffCut(){

}
  1. 在上一步的切入点上,添加需要执行的逻辑
@Around("pointOffCut()")
public Object doAround(ProceedingJoinPoint pip) throws Throwable {

	// 这里可以执行切入的方法执行之前的一些逻辑,比如权限验证
	// 获取全部参数
	Object[] args = pip.getArgs();

	// 方式切入的方法本体,并返回结果
	Object res = pip.proceed();

	// 这里可以执行切入的方法执行后的逻辑,比如记录方法执行的时间

	// 将结果返回
	return res;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章