パッケージ org.springframework.aop

インターフェース TargetSource

すべてのスーパーインターフェース:
TargetClassAware
すべての既知の実装クラス:
AbstractBeanFactoryBasedTargetSourceAbstractLazyCreationTargetSourceAbstractPoolingTargetSourceAbstractPrototypeBasedTargetSourceAbstractRefreshableTargetSourceBeanFactoryRefreshableTargetSourceCommonsPool2TargetSourceEmptyTargetSourceHotSwappableTargetSourceJndiObjectTargetSourceLazyInitTargetSourcePrototypeTargetSourceRefreshableScriptTargetSourceSimpleBeanTargetSourceSingletonTargetSourceThreadLocalTargetSource

public interface TargetSource extends TargetClassAware
TargetSource は、AOP 呼び出しの現在の「ターゲット」を取得するために使用されます。アラウンドアドバイスがインターセプターチェーン自体を終了することを選択しない場合、リフレクションを介して呼び出されます。

TargetSource が「静的」である場合、常に同じターゲットを返し、AOP フレームワークでの最適化を可能にします。動的ターゲットソースは、プーリング、ホットスワップなどをサポートできます。

通常、アプリケーション開発者は TargetSources を直接操作する必要はありません。これは AOP フレームワークインターフェースです。

作成者:
Rod Johnson, Juergen Hoeller
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    ターゲットインスタンスを返します。
    この TargetSource によって返されるターゲットの型を返します。
    default boolean
    getTarget() へのすべての呼び出しは同じオブジェクトを返しますか?
    default void
    getTarget() メソッドから取得した特定のターゲットオブジェクトがあれば解放します。
  • メソッドの詳細

    • getTargetClass

      @Nullable ClassSE<?> getTargetClass()
      この TargetSource によって返されるターゲットの型を返します。

      null を返すことができますが、TargetSource の特定の使用箇所は、事前定義されたターゲットクラスでのみ機能する場合があります。

      次で指定:
      インターフェース TargetClassAwaregetTargetClass 
      戻り値:
      この TargetSource によって返されるターゲットの型
    • isStatic

      default boolean isStatic()
      getTarget() へのすべての呼び出しは同じオブジェクトを返しますか?

      その場合、releaseTarget(Object) を呼び出す必要はなく、AOP フレームワークは getTarget() の戻り値をキャッシュできます。

      デフォルトの実装は false を返します。

      戻り値:
      true (ターゲットが不変の場合)
      関連事項:
    • getTarget

      @Nullable ObjectSE getTarget() throws ExceptionSE
      ターゲットインスタンスを返します。AOP フレームワークが AOP メソッド呼び出しの「ターゲット」を呼び出す直前に呼び出されます。
      戻り値:
      ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は null 
      例外:
      ExceptionSE - ターゲットオブジェクトを解決できない場合
    • releaseTarget

      default void releaseTarget(ObjectSE target) throws ExceptionSE
      getTarget() メソッドから取得した特定のターゲットオブジェクトがあれば解放します。

      デフォルトの実装は空です。

      パラメーター:
      target - getTarget() の呼び出しから取得したオブジェクト
      例外:
      ExceptionSE - オブジェクトを解放できない場合