package com.aop;

import org.aspectj.lang.ProceedingJoinPoint;

public class MyAspect {
    public void myBefore() {
        System.out.println("aspect before...");
    }
    // 最终增强
    public void after() {
        System.out.println("aspect after...");
    }

    /**
     * 环绕方法
     * @param proceedingJoinPoint 正在执行的连接点 -》切点
     */
    public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        System.out.println("环绕前增强...");
        // 切点方法
        Object proceed = proceedingJoinPoint.proceed();
        System.out.println("环绕后增强...");
        return proceed;
    }

    /**
     * 异常增强（在抛出异常时执行）
     */
    public void afterThrowing() {
        System.out.println("异常抛出增强...");

    }
}
