环绕通知必须有返回值,返回值即为目标方法的返回值,否则目标方法会无法结束,导致前端请求认为超时!

return object;

必须有,别问,问就是被坑过@Aspect

@Component

public class WebLogAspect {

private Logger logger = LoggerFactory.getLogger(getClass());

@Pointcut("execution(public * com.example.liaowh.controller..*.*(..))")

public void webLog() {

}

@Around("webLog()")

public Object around(ProceedingJoinPoint joinPoint) throws Throwable {

// 接收到请求,记录请求内容

ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

HttpServletRequest request = attributes.getRequest();

// 记录下请求内容

logger.info("URL : " + request.getRequestURL().toString());

logger.info("HTTP_METHOD : " + request.getMethod());

logger.info("IP : " + request.getRemoteAddr());

logger.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());

logger.info("ARGS : " + Arrays.toString(joinPoint.getArgs()));

Object object = joinPoint.proceed(joinPoint.getArgs());

logger.info("return" + object);

return object;

}

}

java aop 环绕通知_SpringAOP 环绕通知避坑相关推荐

  1. Java 自动装箱拆箱原理及避坑

    简单记录一下自动拆装箱原理以及使用过程中要注意的坑. 目录 1.Java基本数据类型 2.自动拆箱.自动装箱 3.避坑问题 1.Java基本数据类型 基本数据类型和与之对应的包装类型: boolean ...

  2. 1.Java接入银联支付(chinapay)教程及避坑点

    一.背景及效果展示 现如今,诸多的供应链系统需要使用电子钱包功能,所以接入银联B2B无卡支付,是很多系统应用需要做的事情.银联支付的类型分很多种:网关支付(带token请求实现,下次有空再分享).B2 ...

  3. spring之aop(前置通知,后置通知,环绕通知,过滤通知,异常通知)

    1.AOP中关键性概念  连接点(Joinpoint):程序执行过程中明确的点,如方法的调用,或者异常的抛出 目标(Target):被通知(被代理)的对象 注1:完成具体的业务逻辑 通知(Advice ...

  4. spring之AOP(面向切面编程)和五大通知(前置通知、后置通知、异常通知、环绕通知、过滤通知)

    一.aop的介绍 1.AOP中关键性概念 : 连接点(Joinpoint):程序执行过程中明确的点,如方法的调用,或者异常的抛出. 目标(Target):被通知(被代理)的对象 注1:完成具体的业务逻 ...

  5. spring的aop准备工作-导包定义通知

    然后接下来准备通知,这就是咱们要学的新内容了,在Spring当中,如何定义通知呢,看好,右键,new一个class,a_aspect,然后这儿的话咱们定义一个通知,通知英文名叫做Advice,MyAd ...

  6. Spring Aop源码学习--Advice通知

    Advice通知,所谓通知指的就是指拦截到连接点之后要执行的代码,通知分为前置.后置.异常.最终.环绕通知五类 (1)BeforeAdvice.AfterAdvice:SpringAOP自定义的通知, ...

  7. Spring的aop开发(四)通知类型

    引用文章https://www.cnblogs.com/liuruowang/p/5711563.htm (1)Before:在目标方法被调用之前做增强处理,@Before只需要指定切入点表达式即可 ...

  8. AspectJ的注解开发AOP:异常抛出通知的学习

    AspectJ的注解开发AOP:异常抛出通知的学习 参考文章: (1)AspectJ的注解开发AOP:异常抛出通知的学习 (2)https://www.cnblogs.com/xiaolaha/p/1 ...

  9. Java支付宝APP支付-验证异步通知消息

    上一章已经讲述了支付宝如何生成支付订单,这一章讲述一下支付宝生成订单之后,异步通知接口的开发. 这里先讲一下啥叫支付宝异步通知:对于App支付产生的交易,支付宝会根据原始支付API中传入的异步通知地址 ...

最新文章

  1. HttpServlet详解
  2. UA MATH564 概率论 高阶矩的计算:有限差算子方法1
  3. NYOJ 608 畅通工程 并查集
  4. .net 刷新页面防止表单二次提交
  5. 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC
  6. docker 不包含依赖 打包_Docker打包深度学习项目(解决:Opencv依赖库、共享内存)...
  7. 使用CDN时注意的问题
  8. keil窗口显示不全_使用Keil语言的嵌入式C编程教程(下)
  9. 易语言输出mysql日志_个人理解的易语言下的日志总结(备忘)
  10. 计算机打印机驱动f4200,惠普HP Deskjet F4238 多功能一体机驱动惠普HP Deskjet F4238 多功能一体机驱动...
  11. SystemUI 锁屏点击通知解锁界面重叠(bouncer界面与锁屏第一界面)
  12. 关于“为什么delete以后指针还能被赋值”一种描述
  13. java程序制作成可执行.exe文件
  14. 有关2pc, 3pc,Tcc 的理解
  15. c语言 fgetc函数,C 库函数 – fgetc()
  16. Android mc怎么和win10联机,我的世界实现跨平台联机 Win10玩家可与手机互联
  17. StatsD与Graphite联合作战
  18. SAP 物料可用性检查
  19. 设计模式原则 - 迪米特法则(六)
  20. 第033层:Java核心知识点面试题之-MySql篇

热门文章

  1. infiniDB在linux下完成倒库
  2. 【三次过】Lintcode 778. 太平洋和大西洋的水流
  3. 在微软Azure的服务器上创建Windows虚拟机的教程
  4. 网络攻防技术与实践笔记-信息收集技术手段
  5. 图像局部特征(七)--SURF原理总结
  6. rockbox主题包安装_WaveCN.com - 站长手记 - 站长手记 - Rockbox Utility介绍及Rockbox快速安装简介...
  7. html邮箱代码怎么写_网络资讯:电子邮箱格式怎么写
  8. 阿里巴巴在 Envoy Gateway 的演进历程浅析
  9. 王者微信哪个服务器好,王者荣耀:QQ区比微信区强吗?两个区到底差在哪里?...
  10. 1224. 交换瓶子