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;
}