クラス AbstractBeanFactoryBasedTargetSourceCreator
java.lang.ObjectSE
org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator
- 実装されているすべてのインターフェース:
TargetSourceCreator, Aware, BeanFactoryAware, DisposableBean
- 既知の直属サブクラス
LazyInitTargetSourceCreator, QuickTargetSourceCreator
public abstract class AbstractBeanFactoryBasedTargetSourceCreator
extends ObjectSE
implements TargetSourceCreator, BeanFactoryAware, DisposableBean
プロトタイプ Bean の複数のインスタンスを作成する必要がある
TargetSourceCreator 実装の便利なスーパークラス。内部 BeanFactory を使用してターゲットインスタンスを管理し、元の Bean 定義をこの内部ファクトリにコピーします。元の BeanFactory には自動プロキシで作成されたプロキシインスタンスのみが含まれるため、これが必要です。
AbstractBeanFactory で実行する必要があります。
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明protected DefaultListableBeanFactorybuildInternalBeanFactory(ConfigurableBeanFactory containingFactory) ターゲット Bean を解決するための内部 BeanFactory をビルドします。protected abstract @Nullable AbstractBeanFactoryBasedTargetSourcecreateBeanFactoryBasedTargetSource(ClassSE<?> beanClass, StringSE beanName) サブクラスは、このメソッドを実装して、この Bean のカスタム TargetSource を作成する場合は新しい AbstractPrototypeBasedTargetSource を返し、関わりがない場合はnullを返す必要があります。この場合、特別なターゲットソースは作成されません。voiddestroy()TargetSourceCreator のシャットダウン時に内部 BeanFactory を破棄します。protected final @Nullable BeanFactoryこの TargetSourceCreators が実行される BeanFactory を返します。protected DefaultListableBeanFactorygetInternalBeanFactoryForBean(StringSE beanName) 指定された Bean に使用される内部 BeanFactory を返します。final @Nullable TargetSourcegetTargetSource(ClassSE<?> beanClass, StringSE beanName) 指定された Bean に特別な TargetSource を作成します(存在する場合)。protected booleanこの TargetSourceCreator がプロトタイプベースかどうかを返します。final voidsetBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
AbstractBeanFactoryBasedTargetSourceCreator
public AbstractBeanFactoryBasedTargetSourceCreator()
メソッドの詳細
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAwareのsetBeanFactory - パラメーター:
beanFactory- 所有 BeanFactory(非null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
getBeanFactory
この TargetSourceCreators が実行される BeanFactory を返します。getTargetSource
インターフェースからコピーされた説明:TargetSourceCreator指定された Bean に特別な TargetSource を作成します(存在する場合)。- 次で指定:
- インターフェース
TargetSourceCreatorのgetTargetSource - パラメーター:
beanClass- TargetSource を作成する Bean のクラスbeanName- Bean の名前- 戻り値:
- この TargetSourceCreator が特定の Bean に関心がない場合は、特別な TargetSource または
null
getInternalBeanFactoryForBean
指定された Bean に使用される内部 BeanFactory を返します。- パラメーター:
beanName- ターゲット Bean の名前- 戻り値:
- 使用する内部 BeanFactory
buildInternalBeanFactory
protected DefaultListableBeanFactory buildInternalBeanFactory(ConfigurableBeanFactory containingFactory) ターゲット Bean を解決するための内部 BeanFactory をビルドします。- パラメーター:
containingFactory- 元々 Bean を定義している BeanFactory を含む- 戻り値:
- 一部のターゲット Bean のコピーを保持する独立した内部 BeanFactory
destroy
public void destroy()TargetSourceCreator のシャットダウン時に内部 BeanFactory を破棄します。- 次で指定:
- インターフェース
DisposableBeanのdestroy - 関連事項:
isPrototypeBased
protected boolean isPrototypeBased()この TargetSourceCreator がプロトタイプベースかどうかを返します。ターゲット Bean 定義のスコープは、それに応じて設定されます。デフォルトは「true」。
- 関連事項:
createBeanFactoryBasedTargetSource
protected abstract @Nullable AbstractBeanFactoryBasedTargetSource createBeanFactoryBasedTargetSource(ClassSE<?> beanClass, StringSE beanName) サブクラスは、この Bean 用のカスタム TargetSource を作成したい場合は、新しい AbstractPrototypeBasedTargetSource を返すために、このメソッドを実装する必要があり、それに関わりがない場合はnullを返すためにこのメソッドを実装しなければならず、その場合は特別なターゲットソースは作成されません。サブクラスは、AbstractPrototypeBasedTargetSource 上でsetTargetBeanNameやsetBeanFactoryを呼び出すべきではありません。このクラスのgetTargetSource()の実装がそれを行います。- パラメーター:
beanClass- TargetSource を作成する Bean のクラスbeanName- Bean の名前- 戻り値:
- AbstractPrototypeBasedTargetSource、またはこれと一致しない場合は
null