环绕通知获取方法入参的方法

 Object[] args = joinPoint.getArgs();

 

 

  指定拦截带有注解的写法

  

    @Pointcut("@annotation(com.springboot_aop.abc)")    public void homeWorkPointcut() {
        System.out.println();
    }

 

 

 

 

  统一异常处理,aop

import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.springframework.stereotype.Component;import java.util.HashMap;import java.util.Map;

@Aspect
@Componentpublic class TestAop {    /**
     * 定义切入点     */
    @Pointcut("execution(* com.springboot_aop.controller.*.*(..))")    public void homeWorkPointcut() {
        System.out.println();
    }


    @Before("homeWorkPointcut()")    public void test01() {
        System.out.println("执行前///////");
    }

    @After("homeWorkPointcut()")    public void test02() {
        System.out.println("执行后////");
    }

    @Around("homeWorkPointcut()")    public Object deAround(ProceedingJoinPoint joinPoint) throws Throwable {
        System.out.println("环绕前/////");        try {            return  joinPoint.proceed();
        }catch (Throwable e){
            Mapdata = new HashMap<>();
            data.put("code","500");
            data.put("msg",e.getMessage());
            e.printStackTrace();            return data;
        }
    }

}