【HAVENT原创】使用 Spring Boot 的 AOP 拦截器终止方法执行

前文使用 AOP 拦截器做了日志记录,但是如果我们要拦截并终止方法执行呢?

其实很简单,我们使用 @Around 环绕通知 来实现即可,代码如下:

    //环绕通知,环绕增强,相当于MethodInterceptor
    @Around("webLog()")
    public Object arround(ProceedingJoinPoint pjp) {
        System.out.println("HH 方法环绕start.....");
        try {
            Object ret = null;
            // TODO: 此处为自定义验证逻辑,符合条件则继续执行,否则终止方法的执行
            if (1 == 1) {
                // 执行方法
                ret =  pjp.proceed();
                System.out.println("HH 方法环绕proceed,结果是 :" + ret);
            } else {
                System.out.println("HH 方法环绕proceed,不满足条件未执行");
            }

            return ret;
        } catch (Throwable e) {
            e.printStackTrace();
            return null;
        }
    }

 

转载于:https://my.oschina.net/u/943746/blog/1927478