クラス LazyInitTargetSource
java.lang.ObjectSE
org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource
org.springframework.aop.target.LazyInitTargetSource
- 実装されたすべてのインターフェース:
SerializableSE
、TargetClassAware
、TargetSource
、Aware
、BeanFactoryAware
BeanFactory
からシングルトン Bean に遅延アクセスする TargetSource
。 初期化時にプロキシリファレンスが必要ですが、実際のターゲットオブジェクトは最初に使用するまで初期化しない場合に便利です。ターゲット Bean が ApplicationContext
(BeanFactory
は、先行してシングルトン Bean のインスタンス化を事前に行っています) で定義されている場合は、"lazy-init" とマークされている必要があります。マークされていない場合は、起動時に前述の ApplicationContext
(または BeanFactory
) によってインスタンス化されます。
例:
<bean id="serviceTarget" class="example.MyService" lazy-init="true"> ... </bean> <bean id="service" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="targetSource"> <bean class="org.springframework.aop.target.LazyInitTargetSource"> <property name="targetBeanName"><idref local="serviceTarget"/></property> </bean> </property> </bean>"serviceTarget" Bean は、「サービス」プロキシのメソッドが呼び出されるまで初期化されません。
サブクラスはこのクラスを継承し、postProcessTargetObject(Object)
をオーバーライドして、ターゲットオブジェクトが最初にロードされたときに追加の処理を実行できます。
- 導入:
- 1.1.4
- 作成者:
- Juergen Hoeller, Rob Harrop
- 関連事項:
フィールドサマリー
クラス org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource から継承されたフィールド
logger
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明ターゲットインスタンスを返します。protected void
postProcessTargetObject
(ObjectSE targetObject) サブクラスはこのメソッドをオーバーライドして、最初にロードされたときにターゲットオブジェクトに対して追加の処理を実行できます。クラス org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource から継承されたメソッド
copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, setBeanFactory, setTargetBeanName, setTargetClass, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.aop.TargetSource から継承されたメソッド
isStatic, releaseTarget
コンストラクターの詳細
LazyInitTargetSource
public LazyInitTargetSource()
メソッドの詳細
getTarget
インターフェースからコピーされた説明:TargetSource
ターゲットインスタンスを返します。AOP フレームワークが AOP メソッド呼び出しの「ターゲット」を呼び出す直前に呼び出されます。- 戻り値:
- ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は
null
- 例外:
BeansException
postProcessTargetObject
サブクラスはこのメソッドをオーバーライドして、最初にロードされたときにターゲットオブジェクトに対して追加の処理を実行できます。- パラメーター:
targetObject
- インスタンス化されたばかりのターゲットオブジェクト (そして構成された)