SpringBoot 實現AOP的簡單測試demo
阿新 • • 發佈:2019-01-05
1:定義一個切點類 aop.class 新增 @Aspect註解 和@Componet註解
2: 編寫 Pointcut 註解+方法 before註解+方法 After註解+方法 Around註解+方法 (這四個方法分別對應各自的功能實現)
@Aspect @Component public class aop { @Pointcut("execution(* com.example.demo.service.*.*(..))") //宣告一個切點 public void checkUser(){ } @Before("checkUser()") //在方法執行前切入public void beforeCheck(){ System.out.println("前置方法:我在方法前面"); } @After("checkUser()") //在方法執行後切入 public void after() { System.out.println("後置通知:方法正常結束了"); } @Around("checkUser()") //環繞整個方法的前後 public Object doAround(ProceedingJoinPoint pjp) throws Throwable { System.out.println("進入方法前---環繞通知"); Object o = pjp.proceed(); System.out.println("退出方法後---環繞通知"); return o; } }
3:解釋上方程式碼
4:執行結果: