博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring AOP来自定义注解实现审计或日志记录
阅读量:7201 次
发布时间:2019-06-29

本文共 882 字,大约阅读时间需要 2 分钟。

参考原文地址:

AOP切面补充:

一、@Before,@After,@Around,@AfterReturning,@AfterThrowing执行顺序:

@Around(ProceedingJoinPoint pjp)    -》@Around(ProceedingJoinPoint pjp)-》pjp.proceed()开始执行真正的业务方法    -》@Before(JoinPoint joinPoint)    -》@Around(ProceedingJoinPoint pjp)-》pjp.proceed()结束执行真正的业务方法    -》@After(JoinPoint joinPoint),不论该业务方法是否有异常    -》@AfterReturning/@AfterThrowing

二、如何获取@AfterReturning的返回值:

// 可以重载afterReturning方法,不加returning参数即可@AfterReturning(pointcut = "audit()", returning = "mv")public void doAfterReturning(ModelAndView mv) {    system.out.println(mv.getModel().containsKey("actionErrors"));}

三、若加自定义注解中的一些方法没有返回值:   

// 可以重载afterReturning方法,不加returning参数即可@AfterReturning(pointcut = "audit()")public void doAfterReturning(JoinPoint joinPoint) {}

    需要注意此时,无返回值的业务方法只会走无返回值的此重载方法,而带返回值的业务方法则会先进带返回值的afterReturning,再走无返回值的afterReturning。

 

转载于:https://www.cnblogs.com/songzehao/p/10854283.html

你可能感兴趣的文章
左边的项目管理器不见了
查看>>
android 获取唯一标识
查看>>
HTML5 - Server-Sent Events
查看>>
网络研讨会的邀请:网络公开课_守护好数据库的备份信息
查看>>
使程序在Linux下后台运行
查看>>
关于赋值语句的一点看法
查看>>
windows版本的Emacs 无法显示图片的解决方法
查看>>
Discuz! 经典加密解密函数(带详解)
查看>>
JVM内存结构和6大区域
查看>>
centos6 Docker桥接到主机所在的内网
查看>>
C++ 动态内存
查看>>
网络安装CentOS5.5Final
查看>>
View requires API level 14 (current min is 8)
查看>>
Anychat即时通讯系统
查看>>
2011年 小结
查看>>
手机网站的网页进行微信转发时遇到的问题
查看>>
在RHEL6上配置基于ftp的YUM
查看>>
【行为型】- 状态模式
查看>>
AIX5.3 hacmp配置
查看>>
Linux关闭休眠和屏保模式
查看>>