Spring AOP来自定义注解实现审计或日志记录

参考原文地址:https://blog.csdn.net/yang_lover/article/details/53037323

干货示例代码https://blog.csdn.net/songzehao/article/details/90490023

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

 

  • 29
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值