4.7 Inject 攔截器

2022-07-11 10:17 更新

Inject 攔截器是指在使用 enhance 或 duang 方法增強時使用參數(shù)傳入的攔截器。Inject 可以 對目標完全無侵入地應用 AOP。

假如需要增強的目標在 jar 包之中,無法使用 Before 注解對其配置攔截器,此時使用 Inject攔截器可以對 jar 包中的目標進行增強。如下是 Inject 攔截器示例:

public void injectDemo() {
	// 為enhance方法傳入的攔截器稱為Inject攔截器,下面代碼中的Tx稱為Inject攔截器 OrderService service = Enhancer.enhance(OrderService.class, 		Tx.class); service.payment(…);
}

如上代碼中 Enhance.enhance()方法的第二個參數(shù) Tx.class 被稱之為 Inject 攔截器,使用此方法便可完全無侵入地對目標進行 AOP 增強。


Inject 攔截器與前面談到的 Global、Class、Method 級別攔截器是同一層次上的概念。與 Class 級攔截器一樣,Inject 攔截器將攔截被增強目標中的所有方法。Inject 攔截器可以被認為 就是 Class 級攔截器,只不過執(zhí)行次序在 Class 級攔截器之前而已。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號