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:經過反射執行目標對象鏈接點處的方法,不過使用新的入參替換原來的入參。java