美文网首页
Spring Boot AOP实例

Spring Boot AOP实例

作者: Superwind20 | 来源:发表于2017-02-11 22:42 被阅读374次

    AOP可用于添加日志、计算接口耗时等,大致过程:

    1. 定义切面类

    2. 定义切入点

    3. 编写处理方法

    实例:

    @Aspect  //1. 定义切面类

    @Configuration

    @Slf4j

    public class TestAOP {

     @Pointcut("execution(* com.test.service..*.*(..))")   //2. 定义切入点,表示service下的所有子目录中的所有类的所有方法

    public void excudeService() {

    }

    @Around("excudeService()")  //3. 编写处理方法

    public Object aroundService(ProceedingJoinPoint joinPoint) throws Throwable {

    log.info("begin");

    long start = System.currentTimeMillis();

    Object thing = joinPoint.proceed();

    long end = System.currentTimeMillis();

    log.info( "end cost=" + (end - start));

    return thing;

    }

    }

    补充:

    @Before  在切入点方法执行前执行

    @After  在切入点方法执行后执行,包括抛异常,相当于finally

    @AfterReturnning  同上,但不包括抛异常

    @AfterThrowing  在切入点方法抛异常后执行

    @Around  切入点前、后都执行,必须调用 ProceedingJoinPoint.proceed()继续往下走

    相关文章

      网友评论

          本文标题:Spring Boot AOP实例

          本文链接:https://www.haomeiwen.com/subject/tteoittx.html