spring知识点3-AOP的介绍和使用

2021-03-22  本文已影响0人  那钱有着落吗
image.png image.png image.png

图中的表达式其实是全的,右边结尾是一个括号

image.png
image.png image.png image.png

下面附上源码:


@Slf4j
@Aspect
@Component
public class RequestLogAspect {

    @Pointcut("execution(public * com.neucloud.testproject.controller..*.*(..))")
    public void printLog(){}

    @Before("printLog()")
    public void doBefore(){
        HttpServletRequest request =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        log.info("url:"+request.getRequestURL());
        log.info("ip:"+request.getRemoteAddr());
    }

    @AfterReturning(returning = "ret",pointcut = "printLog()")
    public void doAfter(Object ret){
        log.info("response:"+ret);
    }

}

会在指定的类,例如图中是接口,在接口调用前执行一个逻辑,然后再接口执行后再执行一个逻辑

上一篇下一篇

猜你喜欢

热点阅读