Spring 切面拦截的千奇百怪做法

2021-04-16  本文已影响0人  nbicelove

第一种:最常见的按照切面方法进行拦截

@Pointcut("execution(* cn..server.controller..(..))")
public void webLog() {}
@Before("webLog()")
public void before(final JoinPoint joinPoint){ }

第二种:根据注解进行拦截
(1)
@Pointcut("@annotation(common.SubmitAnnotation)")
public void cutMethod() {}
@Before("webLog()")
public void before(final JoinPoint joinPoint){ }
(2)可以直接省略上面的
@Before("@annotation(common.SubmitAnnotation)")
public void before(final JoinPoint joinPoint){ }

(3)综合拦截
@Pointcut("execution(* cn..server.controller..(..))")
public void webLog() {}
@Before("webLog() && @annotation(common.SubmitAnnotation)")
public void before(final JoinPoint joinPoint){ }

(4)综合拦截 另外一种写法
@Pointcut("execution(* cn..server.controller..(..))")
public void webLog() {}
@Before("webLog() && submitAnnotation")
public void before(final JoinPoint joinPoint,SubmitAnnotation submitAnnotation){ }

上一篇下一篇

猜你喜欢

热点阅读