インターセプターを注入する


Inject インターセプターとは、enhanced または duang メソッドを使用して強化するときにパラメーターを使用して渡されるインターセプターを指します。 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() メソッドの 2 番目のパラメーター Tx.class は Inject インターセプターと呼ばれます。これを使用します。 メソッド AOP 強化は、ターゲットに対して完全に非侵襲的に実行できます。



Injectインターセプターは、前述のグローバル、クラス、メソッドレベルのインターセプターと同じレベルの概念です。クラスレベルのインターセプターと同様に、Inject インターセプターは拡張ターゲット内のすべてのメソッドをインターセプトします。 Inject インターセプターはクラス レベルのインターセプターと考えることができますが、実行順序はクラス レベルのインターセプターよりも前です。