攔截器
Interceptor 可以對方法進行攔截,並提供機會在方法的前後添加切面程式碼,實現 AOP 的 核心目標。 Interceptor 介面只是定了一個方法 void intercept(Invocation inv)。以下是簡單的範例:
public class DemoInterceptor implements Interceptor { public void intercept(Invocation inv) { System.out.println("Before method invoking"); inv.invoke(); System.out.println("After method invoking"); } }
#以上程式碼中的DemoInterceptor 將攔截目標方法,並且在目標方法呼叫前後向控制台輸出文字。 inv.invoke()這一行程式碼是對目標方法的調用,在這一行程式碼的前後插入切面程式碼可以很 方便地實現 AOP。
nvocation 作為 Interceptor 介面 intercept 方法中的唯一參數,提供了許多便利的方法在攔截 截斷器中使用。以下為 Invocation 中的方法: