クラス AbstractLazyCreationTargetSource

java.lang.ObjectSE
org.springframework.aop.target.AbstractLazyCreationTargetSource
実装されたすべてのインターフェース:
TargetClassAwareTargetSource

public abstract class AbstractLazyCreationTargetSource extends ObjectSE implements TargetSource
ユーザー管理オブジェクトを遅延作成する TargetSource 実装。

レイジーターゲットオブジェクトの作成は、createObject() メソッドを実装することによってユーザーが制御します。この TargetSource は、プロキシに初めてアクセスしたときにこのメソッドを呼び出します。

オブジェクトへの依存関係への参照を渡す必要があるが、最初に使用するまで依存関係を実際に作成したくない場合に便利です。この典型的なシナリオは、リモートリソースへの接続です。

導入:
1.2.4
作成者:
Rob Harrop, Juergen Hoeller
関連事項:
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected final Log
    サブクラスで利用可能なロガー。
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected abstract ObjectSE
    サブクラスは、このメソッドを実装して、遅延初期化オブジェクトを返す必要があります。
    レイジーで初期化されたターゲットオブジェクトを返し、まだ存在しない場合はオンザフライで作成します。
    このデフォルトの実装は、ターゲットが null (まだ初期化されていない)の場合は null を返し、ターゲットがすでに初期化されている場合はターゲットクラスを返します。
    boolean
    この TargetSource の遅延ターゲットオブジェクトがすでにフェッチされているかどうかを返します。
    boolean
    TargetSource.getTarget() へのすべての呼び出しは同じオブジェクトを返しますか?
    void
    TargetSource.getTarget() メソッドから取得した特定のターゲットオブジェクトがあれば解放します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

      protected final Log logger
      サブクラスで利用可能なロガー。
  • コンストラクターの詳細

    • AbstractLazyCreationTargetSource

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

    • isInitialized

      public boolean isInitialized()
      この TargetSource の遅延ターゲットオブジェクトがすでにフェッチされているかどうかを返します。
    • getTargetClass

      @Nullable public ClassSE<?> getTargetClass()
      このデフォルトの実装は、ターゲットが null (まだ初期化されていない)の場合は null を返し、ターゲットがすでに初期化されている場合はターゲットクラスを返します。

      ターゲットがまだ null であるときに意味のある値を提供するために、サブクラスはこのメソッドをオーバーライドしたい場合があります。

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

      public boolean isStatic()
      インターフェースからコピーされた説明: TargetSource
      TargetSource.getTarget() へのすべての呼び出しは同じオブジェクトを返しますか?

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

      次で指定:
      インターフェース TargetSourceisStatic 
      戻り値:
      true (ターゲットが不変の場合)
      関連事項:
    • getTarget

      public ObjectSE getTarget() throws ExceptionSE
      レイジーで初期化されたターゲットオブジェクトを返し、まだ存在しない場合はオンザフライで作成します。
      次で指定:
      インターフェース TargetSourcegetTarget 
      戻り値:
      ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は null 
      例外:
      ExceptionSE - ターゲットオブジェクトを解決できない場合
      関連事項:
    • releaseTarget

      public void releaseTarget(ObjectSE target) throws ExceptionSE
      インターフェースからコピーされた説明: TargetSource
      TargetSource.getTarget() メソッドから取得した特定のターゲットオブジェクトがあれば解放します。
      次で指定:
      インターフェース TargetSourcereleaseTarget 
      パラメーター:
      target - TargetSource.getTarget() の呼び出しから取得したオブジェクト
      例外:
      ExceptionSE - オブジェクトを解放できない場合
    • createObject

      protected abstract ObjectSE createObject() throws ExceptionSE
      サブクラスは、このメソッドを実装して、遅延初期化オブジェクトを返す必要があります。プロキシが初めて呼び出されたときに呼び出されます。
      戻り値:
      作成されたオブジェクト
      例外:
      ExceptionSE - 作成に失敗した場合