spring aop 拦截例子

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014087707/article/details/78667624

java config

@EnableAspectJAutoProxy
public class GlobalConfig {

}

接下来就可以使用了

@Aspect
@Component
public class AppLogAspect {

    //Controller层切点
    @Pointcut("execution (public * com.xxxx.*Controller.*(..))")
    public void controllerAspect() {
    }

    //前置通知
    @Before(value = "controllerAspect()")
    public void before(JoinPoint joinPoint) {

    }

    //后置通知
    @After(value = "controllerAspect()")
    public void after() {

    }

    //返回通知
    @AfterReturning(value = "controllerAspect()")
    public void afterReturning(JoinPoint joinPoint) {

    }

    //异常通知
    @AfterThrowing(value = "controllerAspect()", throwing = "ex")
    public void afterThrowing(JoinPoint joinPoint, Exception ex) {

    }

    //环绕通知
    @Around(value = "controllerAspect()")
    public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        return proceedingJoinPoint.proceed();
    }
}

对所有controller的方法进行拦截

猜你喜欢

转载自blog.csdn.net/u014087707/article/details/78667624