クラス AbstractLazyCreationTargetSource
java.lang.ObjectSE
org.springframework.aop.target.AbstractLazyCreationTargetSource
- 実装済みのインターフェース一覧:
TargetClassAware,TargetSource
ユーザー管理オブジェクトを遅延作成する
TargetSource 実装。 レイジーターゲットオブジェクトの作成は、createObject() メソッドを実装することによってユーザーが制御します。この TargetSource は、プロキシに初めてアクセスしたときにこのメソッドを呼び出します。
オブジェクトへの依存関係への参照を渡す必要があるが、最初に使用するまで依存関係を実際に作成したくない場合に便利です。この典型的なシナリオは、リモートリソースへの接続です。
- 導入:
- 1.2.4
- 作成者:
- Rob Harrop, Juergen Hoeller
- 関連事項:
フィールド概要
フィールドコンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明protected abstract ObjectSEサブクラスは、このメソッドを実装して、遅延初期化オブジェクトを返す必要があります。レイジーで初期化されたターゲットオブジェクトを返し、まだ存在しない場合はオンザフライで作成します。ClassSE<?>このデフォルトの実装は、ターゲットがnull(まだ初期化されていない)の場合はnullを返し、ターゲットがすでに初期化されている場合はターゲットクラスを返します。booleanこの TargetSource の遅延ターゲットオブジェクトがすでにフェッチされているかどうかを返します。booleanisStatic()TargetSource.getTarget()へのすべての呼び出しは同じオブジェクトを返しますか?voidreleaseTarget(ObjectSE target) TargetSource.getTarget()メソッドから取得した特定のターゲットオブジェクトがあれば解放します。
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractLazyCreationTargetSource
public AbstractLazyCreationTargetSource()
方法の詳細
isInitialized
public boolean isInitialized()この TargetSource の遅延ターゲットオブジェクトがすでにフェッチされているかどうかを返します。getTargetClass
このデフォルトの実装は、ターゲットがnull(まだ初期化されていない)の場合はnullを返し、ターゲットがすでに初期化されている場合はターゲットクラスを返します。ターゲットがまだ
nullであるときに意味のある値を提供するために、サブクラスはこのメソッドをオーバーライドしたい場合があります。- 次で指定:
- インターフェース
TargetClassAware内のgetTargetClass - 次で指定:
- インターフェース
TargetSource内のgetTargetClass - 戻り値:
- この
TargetSourceによって返されるターゲットの型 - 関連事項:
isStatic
public boolean isStatic()インターフェースからコピーされた説明:TargetSourceTargetSource.getTarget()へのすべての呼び出しは同じオブジェクトを返しますか?その場合、
TargetSource.releaseTarget(Object)を呼び出す必要はなく、AOP フレームワークはTargetSource.getTarget()の戻り値をキャッシュできます。- 次で指定:
- インターフェース
TargetSource内のisStatic - 戻り値:
true(ターゲットが不変の場合)- 関連事項:
getTarget
レイジーで初期化されたターゲットオブジェクトを返し、まだ存在しない場合はオンザフライで作成します。- 次で指定:
- インターフェース
TargetSource内のgetTarget - 戻り値:
- ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は
null - 例外:
ExceptionSE- ターゲットオブジェクトを解決できない場合- 関連事項:
releaseTarget
インターフェースからコピーされた説明:TargetSourceTargetSource.getTarget()メソッドから取得した特定のターゲットオブジェクトがあれば解放します。- 次で指定:
- インターフェース
TargetSource内のreleaseTarget - パラメーター:
target-TargetSource.getTarget()の呼び出しから取得したオブジェクト- 例外:
ExceptionSE- オブジェクトを解放できない場合
createObject
サブクラスは、このメソッドを実装して、遅延初期化オブジェクトを返す必要があります。プロキシが初めて呼び出されたときに呼び出されます。- 戻り値:
- 作成されたオブジェクト
- 例外:
ExceptionSE- 作成に失敗した場合