• spring aop 中的JoinPoint


    AspectJ使用org.aspectj.lang.JoinPoint接口表示目标类连接点对象,如果是环绕增强时,使用org.aspectj.lang.ProceedingJoinPoint表示连接点对象,该类是JoinPoint的子接口。任何一个增强方法都可以通过将第一个入参声明为JoinPoint访问到连接点上下文的信息。我们先来了解一下这两个接口的主要方法: 

    1)JoinPoint 
      java.lang.Object[] getArgs():获取连接点方法运行时的入参列表; 
      Signature getSignature() :获取连接点的方法签名对象; 
      java.lang.Object getTarget() :获取连接点所在的目标对象; 
      java.lang.Object getThis() :获取代理对象本身; 

    2)ProceedingJoinPoint 
      ProceedingJoinPoint继承JoinPoint子接口,它新增了两个用于执行连接点方法的方法: 
      java.lang.Object proceed() throws java.lang.Throwable:通过反射执行目标对象的连接点处的方法; 
      java.lang.Object proceed(java.lang.Object[] args) throws java.lang.Throwable:通过反射执行目标对象连接点处的方法,不过使用新的入参替换原来的入参。 

    我们可以通过Advice中添加一个JoinPoint参数,这个值会由spring自动传入,从JoinPoint中可以取得。

  • 相关阅读:
    构建之法阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记03
    学习进度条
    软件工程练习——买书
    软件工程练习——找水王2
    Java作业07
    Java课堂作业06
    读《大道至简》第六章有感
    Java课堂作业05
  • 原文地址:https://www.cnblogs.com/panchanggui/p/10762666.html
Copyright © 2020-2023  润新知