spring知识点3-AOP的介绍和使用
2021-03-22 本文已影响0人
那钱有着落吗
image.png
image.png
image.png
image.png image.png image.png
图中的表达式其实是全的,右边结尾是一个括号
image.pngimage.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);
}
}
会在指定的类,例如图中是接口,在接口调用前执行一个逻辑,然后再接口执行后再执行一个逻辑