W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Inject 攔截器是指在使用 enhance 或 duang 方法增強(qiáng)時(shí)使用參數(shù)傳入的攔截器。Inject 可以 對目標(biāo)完全無侵入地應(yīng)用 AOP。
假如需要增強(qiáng)的目標(biāo)在 jar 包之中,無法使用 Before 注解對其配置攔截器,此時(shí)使用 Inject攔截器可以對 jar 包中的目標(biāo)進(jìn)行增強(qiáng)。如下是 Inject 攔截器示例:
public void injectDemo() {
// 為enhance方法傳入的攔截器稱為Inject攔截器,下面代碼中的Tx稱為Inject攔截器 OrderService service = Enhancer.enhance(OrderService.class, Tx.class); service.payment(…);
}
如上代碼中 Enhance.enhance()方法的第二個(gè)參數(shù) Tx.class 被稱之為 Inject 攔截器,使用此方法便可完全無侵入地對目標(biāo)進(jìn)行 AOP 增強(qiáng)。
Inject 攔截器與前面談到的 Global、Class、Method 級別攔截器是同一層次上的概念。與 Class 級攔截器一樣,Inject 攔截器將攔截被增強(qiáng)目標(biāo)中的所有方法。Inject 攔截器可以被認(rèn)為 就是 Class 級攔截器,只不過執(zhí)行次序在 Class 級攔截器之前而已。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: