クラス AopProxyUtils

java.lang.ObjectSE
org.springframework.aop.framework.AopProxyUtils

public abstract class AopProxyUtils extends ObjectSE
AOP プロキシファクトリのユーティリティメソッド。

主に AOP フレームワーク内での内部使用のため。

AOP フレームワークの内部に依存しない一般的な AOP ユーティリティメソッドのコレクションについては、AopUtils を参照してください。

作成者:
Rod Johnson, Juergen Hoeller, Sam Brannen
関連事項:
  • コンストラクターの詳細

    • AopProxyUtils

      public AopProxyUtils()
  • メソッドの詳細

    • getSingletonTarget

      @Nullable public static ObjectSE getSingletonTarget(ObjectSE candidate)
      指定されたプロキシの背後にあるシングルトンターゲットオブジェクトを取得します(存在する場合)。
      パラメーター:
      candidate - チェックする(潜在的な)プロキシ
      戻り値:
      SingletonTargetSource またはその他の場合は null で管理されるシングルトンターゲットオブジェクト (プロキシではなく、既存のシングルトンターゲットではない)
      導入:
      4.3.8
      関連事項:
    • ultimateTargetClass

      public static ClassSE<?> ultimateTargetClass(ObjectSE candidate)
      指定された Bean インスタンスの最終的なターゲットクラスを決定し、トップレベルのプロキシだけでなく、ネストされた任意の数のプロキシもトラバースします。副作用のない限り、つまりシングルトンターゲットの場合のみ。
      パラメーター:
      candidate - チェックするインスタンス (AOP プロキシである可能性があります)
      戻り値:
      究極のターゲットクラス (または、フォールバックとして指定されたオブジェクトのプレーンクラス。null)
      関連事項:
    • completeJdkProxyInterfaces

      public static ClassSE<?>[] completeJdkProxyInterfaces(ClassSE<?>... userInterfaces)
      Spring AOP によって生成される JDK 動的プロキシで通常必要とされる一連のインターフェースを完成させます。

      具体的には、SpringProxyAdvisedDecoratingProxy が、ユーザー指定のインターフェースのセットに追加されます。

      このメソッドは、static インポート経由でこのメソッドを使用する次の例で示されているように、Spring の AOT サポートのプロキシヒントを登録するときに役立ちます。

       RuntimeHints hints = ...
       hints.proxies().registerJdkProxy(completeJdkProxyInterfaces(MyInterface.class));
       
      パラメーター:
      userInterfaces - プロキシされるコンポーネントによって実装されたユーザー指定のインターフェースのセット
      戻り値:
      プロキシが実装するインターフェースの完全なセット
      例外:
      IllegalArgumentExceptionSE - 提供された Class が null であるか、インターフェースではないか、シールされたインターフェースである場合
      導入:
      6.0
      関連事項:
    • completeProxiedInterfaces

      public static ClassSE<?>[] completeProxiedInterfaces(AdvisedSupport advised)
      指定された AOP 構成をプロキシするインターフェースの完全なセットを決定します。

      これにより、AdvisedSupport の "opaque" フラグがオンでない限り、常に Advised インターフェースが追加されます。常に SpringProxy マーカーインターフェースを追加します。

      パラメーター:
      advised - プロキシ設定
      戻り値:
      プロキシするインターフェースの完全なセット
      関連事項:
    • proxiedUserInterfaces

      public static ClassSE<?>[] proxiedUserInterfaces(ObjectSE proxy)
      特定のプロキシが実装するユーザー指定のインターフェース、つまりプロキシが実装するすべての非推奨インターフェースを抽出します。
      パラメーター:
      proxy - 分析するプロキシ (通常は JDK 動的プロキシ)
      戻り値:
      プロキシが実装するすべてのユーザー指定のインターフェース(元の順序) (null または空ではない)
      関連事項:
    • equalsInProxy

      public static boolean equalsInProxy(AdvisedSupport a, AdvisedSupport b)
      指定された AdvisedSupport オブジェクトの背後にあるプロキシが等しいかどうかを確認します。AdvisedSupport オブジェクトの等価性とは異なります。むしろ、インターフェース、アドバイザー、ターゲットソースの等価性です。
    • equalsProxiedInterfaces

      public static boolean equalsProxiedInterfaces(AdvisedSupport a, AdvisedSupport b)
      指定された AdvisedSupport オブジェクトの背後にあるプロキシされたインターフェースの等価性を確認します。
    • equalsAdvisors

      public static boolean equalsAdvisors(AdvisedSupport a, AdvisedSupport b)
      指定された AdvisedSupport オブジェクトの背後にあるアドバイザの等価性を確認してください。