美文网首页
7.17_22期AOP通知类型

7.17_22期AOP通知类型

作者: 萧修 | 来源:发表于2023-07-22 01:00 被阅读0次
  • AOP通知描述了抽取的共性功能,根据共性功能抽取的位置不同,最终运行代码时要加入到合理的位置

  • AOP通知共分为5种类型

  • 前置通知
    @After("pt()"),方法执行之前

  • 后置通知
    @After("pt()"),方法执行之后

  • 环绕通知
    @Around("pt()")

环绕通知必须依赖形参ProceedingJoinPoint才能实现对原始方法的调用,进而实现对原始方法调用前后同时添加通知

通知中如果未使用ProceedingJoinPoint对原始方法调用将跳过原始方法的执行

对原始方法的调用不需要返回值,设置为void类型,如果接受返回值,必须设定为Object类型

原始方法的返回值如果是void类型,通知方法可以设置为void也可以设置Object

@Before("pt()")
public Object before(){
    System.out.println("before advice ...");
    return 12;
}

由于无法预知原始方法运行后是否抛出异常,因此环绕通知必须抛出Throwable对象

  • 返回后通知
    @AfterReturning("pt()")

  • 抛出异常后通知
    @AfterThrowing("pt()")

相关文章

网友评论

      本文标题:7.17_22期AOP通知类型

      本文链接:https://www.haomeiwen.com/subject/mhcgudtx.html