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:解释上方代码
4:执行结果: