package com.complat.admin.conf; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.aspectj.lang.JoinPoint; import org.springframework.stereotype.Component; import java.util.Arrays; @Aspect//描述一个切面类,定义切面类的时候需要打上这个注解 @Component @Slf4j public class SpringAop { @Pointcut("execution(* com.complat.admin.controller.*.*(..))") public void pointcut(){ System.out.println("建立切点"); } @Before("pointcut()") public void before(JoinPoint joinPoint){ System.out.println("這是前置通知"); } @After("pointcut()") public void after(JoinPoint joinPoint){ System.out.println("这是后置通知"); } @AfterReturning("pointcut()") public void afterReturning(JoinPoint joinPoint){ System.out.println("这是后置返回 "); System.out.println(Arrays.toString(joinPoint.getArgs())); } @AfterThrowing("pointcut()") public void afterThrowing(JoinPoint joinPoint){ System.out.println("后置异常"); } @Around("pointcut()") public void around(ProceedingJoinPoint poin) throws Throwable { System.out.println("环绕通知"); log.info("环绕通知"); poin.proceed(); } }
Spring boot 使用 Aop 的 Demo
猜你喜欢
转载自blog.csdn.net/qq372854822/article/details/80074969
今日推荐
周排行