SpringBoot 实现AOP的简单测试demo

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:解释上方代码

SpringBoot 实现AOP的简单测试demo_第1张图片

4:执行结果:

SpringBoot 实现AOP的简单测试demo_第2张图片


你可能感兴趣的:(SpringBoot 实现AOP的简单测试demo)