クラス 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 の遅延ターゲットオブジェクトがすでにフェッチされているかどうかを返します。boolean
isStatic()
TargetSource.getTarget()
へのすべての呼び出しは同じオブジェクトを返しますか?void
releaseTarget
(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()インターフェースからコピーされた説明:TargetSource
TargetSource.getTarget()
へのすべての呼び出しは同じオブジェクトを返しますか?その場合、
TargetSource.releaseTarget(Object)
を呼び出す必要はなく、AOP フレームワークはTargetSource.getTarget()
の戻り値をキャッシュできます。- 次で指定:
- インターフェース
TargetSource
のisStatic
- 戻り値:
true
(ターゲットが不変の場合)- 関連事項:
getTarget
レイジーで初期化されたターゲットオブジェクトを返し、まだ存在しない場合はオンザフライで作成します。- 次で指定:
- インターフェース
TargetSource
のgetTarget
- 戻り値:
- ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は
null
- 例外:
ExceptionSE
- ターゲットオブジェクトを解決できない場合- 関連事項:
releaseTarget
インターフェースからコピーされた説明:TargetSource
TargetSource.getTarget()
メソッドから取得した特定のターゲットオブジェクトがあれば解放します。- 次で指定:
- インターフェース
TargetSource
のreleaseTarget
- パラメーター:
target
-TargetSource.getTarget()
の呼び出しから取得したオブジェクト- 例外:
ExceptionSE
- オブジェクトを解放できない場合
createObject
サブクラスは、このメソッドを実装して、遅延初期化オブジェクトを返す必要があります。プロキシが初めて呼び出されたときに呼び出されます。- 戻り値:
- 作成されたオブジェクト
- 例外:
ExceptionSE
- 作成に失敗した場合