インターフェース ListableBeanFactory
- すべてのスーパーインターフェース:
BeanFactory
- すべての既知のサブインターフェース:
ApplicationContext
、ConfigurableApplicationContext
、ConfigurableListableBeanFactory
、ConfigurableWebApplicationContext
、WebApplicationContext
- すべての既知の実装クラス:
AbstractApplicationContext
、AbstractRefreshableApplicationContext
、AbstractRefreshableConfigApplicationContext
、AbstractRefreshableWebApplicationContext
、AbstractXmlApplicationContext
、AnnotationConfigApplicationContext
、AnnotationConfigWebApplicationContext
、ClassPathXmlApplicationContext
、DefaultListableBeanFactory
、FileSystemXmlApplicationContext
、GenericApplicationContext
、GenericGroovyApplicationContext
、GenericWebApplicationContext
、GenericXmlApplicationContext
、GroovyWebApplicationContext
、StaticApplicationContext
、StaticListableBeanFactory
、StaticWebApplicationContext
、XmlWebApplicationContext
BeanFactory
インターフェースの拡張。クライアントからのリクエストに応じて、名前で Bean ルックアップを 1 つずつ試行するのではなく、Bean インスタンスをすべて列挙できます。すべての Bean 定義(XML ベースのファクトリなど)をプリロードする BeanFactory 実装は、このインターフェースを実装する場合があります。 これは HierarchicalBeanFactory
である場合、戻り値は、アカウントに任意の BeanFactory 階層になりませんが、現在のファクトリで定義された Bean にのみ関連します。BeanFactoryUtils
ヘルパークラスを使用して、祖先ファクトリの Bean も検討します。
このインターフェースのメソッドは、このファクトリの Bean 定義を考慮します。これらは、ConfigurableBeanFactory
の registerSingleton
メソッドなどの他の方法で登録されたシングルトン Bean を無視します。ただし、getBeanNamesForType
と getBeansOfType
は例外で、このような手動で登録されたシングルトンもチェックします。もちろん、BeanFactory の getBean
では、そのような特殊な Bean への透過的なアクセスも可能です。ただし、通常のシナリオでは、すべての Bean がいずれにせよ外部 Bean 定義によって定義されるため、ほとんどのアプリケーションはこの区別について心配する必要はありません。
注意 : getBeanDefinitionCount
および containsBeanDefinition
を除いて、このインターフェースのメソッドは頻繁に呼び出すようには設計されていません。実装に時間がかかる場合があります。
- 導入:
- 2001 年 4 月 16 日
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
フィールドサマリー
インターフェース org.springframework.beans.factory.BeanFactory から継承されたフィールド
FACTORY_BEAN_PREFIX
メソッドのサマリー
修飾子と型メソッド説明boolean
containsBeanDefinition
(StringSE beanName) この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。<A extends AnnotationSE>
SetSE<A>findAllAnnotationsOnBean
(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) 指定された Bean 上のannotationType
のすべてのAnnotation
SE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。<A extends AnnotationSE>
AfindAnnotationOnBean
(StringSE beanName, ClassSE<A> annotationType) 指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。<A extends AnnotationSE>
AfindAnnotationOnBean
(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) 指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。int
ファクトリで定義されている Bean の数を返します。StringSE[]
このファクトリで定義されているすべての Bean の名前を返します。StringSE[]
getBeanNamesForAnnotation
(ClassSE<? extends AnnotationSE> annotationType) 対応する Bean インスタンスをまだ作成せずに、提供されたAnnotation
SE 型でアノテーションが付けられている Bean のすべての名前を検索します。StringSE[]
getBeanNamesForType
(ClassSE<?> type) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。StringSE[]
getBeanNamesForType
(ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。StringSE[]
Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。StringSE[]
getBeanNamesForType
(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。<T> ObjectProvider<T>
getBeanProvider
(ClassSE<T> requiredType, boolean allowEagerInit) 指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。<T> ObjectProvider<T>
getBeanProvider
(ResolvableType requiredType, boolean allowEagerInit) 指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。getBeansOfType
(ClassSE<T> type) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。getBeansOfType
(ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。getBeansWithAnnotation
(ClassSE<? extends AnnotationSE> annotationType) 指定されたAnnotation
SE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。インターフェース org.springframework.beans.factory.BeanFactory から継承されたメソッド
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
メソッドの詳細
containsBeanDefinition
この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
- パラメーター:
beanName
- 検索する Bean の名前- 戻り値:
- この Bean ファクトリに、指定された名前の Bean 定義が含まれている場合
- 関連事項:
getBeanDefinitionCount
int getBeanDefinitionCount()ファクトリで定義されている Bean の数を返します。このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
- 戻り値:
- ファクトリで定義された Bean の数
getBeanDefinitionNames
StringSE[] getBeanDefinitionNames()このファクトリで定義されているすべての Bean の名前を返します。このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
- 戻り値:
- このファクトリで定義されているすべての Bean の名前。定義されていない場合は空の配列
getBeanProvider
指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。- パラメーター:
requiredType
- Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができますallowEagerInit
- ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか- 戻り値:
- 対応するプロバイダーのハンドル
- 導入:
- 5.3
- 関連事項:
getBeanProvider
指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。- パラメーター:
requiredType
- Bean が一致する必要がある型。ジェネリクス型宣言にすることができます。ここでは、反射インジェクションポイントとは対照的に、コレクション型はサポートされていません。プログラムで特定の型に一致する Bean のリストを取得するには、実際の Bean 型をここで引数として指定し、その後ObjectProvider.orderedStream()
またはその遅延ストリーミング / 反復オプションを使用します。allowEagerInit
- ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか- 戻り値:
- 対応するプロバイダーのハンドル
- 導入:
- 5.3
- 関連事項:
getBeanNamesForType
Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の
beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このバージョンの
getBeanNamesForType
は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果はgetBeanNamesForType(type, true, true)
の場合と同じになります。このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
- パラメーター:
type
- 一致する一般的に型指定されたクラスまたはインターフェース- 戻り値:
- 指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
- 導入:
- 4.2
- 関連事項:
getBeanNamesForType
StringSE[] getBeanNamesForType(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
"allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の
beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
- パラメーター:
type
- 一致する一般的に型指定されたクラスまたはインターフェースincludeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。- 戻り値:
- 指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
- 導入:
- 5.2
- 関連事項:
getBeanNamesForType
Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の
beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このバージョンの
getBeanNamesForType
は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果はgetBeanNamesForType(type, true, true)
の場合と同じになります。このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
- パラメーター:
type
- 一致させるクラスまたはインターフェース、またはすべての Bean 名のnull
- 戻り値:
- 指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
- 関連事項:
getBeanNamesForType
StringSE[] getBeanNamesForType(@Nullable ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
"allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の
beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
- パラメーター:
type
- 一致させるクラスまたはインターフェース、またはすべての Bean 名のnull
includeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。- 戻り値:
- 指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
- 関連事項:
getBeansOfType
Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の
beansOfTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このバージョンの getBeansOfType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は
getBeansOfType(type, true, true)
の場合と同じになります。このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンスを返す必要があります。
- パラメーター:
type
- 一致するクラスまたはインターフェース、またはすべての具象 Bean のnull
- 戻り値:
- キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
- 例外:
BeansException
- Bean を作成できなかった場合- 導入:
- 1.1.2
- 関連事項:
getBeansOfType
<T> MapSE<StringSE,T> getBeansOfType(@Nullable ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
"allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の
beansOfTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンスを返す必要があります。
- パラメーター:
type
- 一致するクラスまたはインターフェース、またはすべての具象 Bean のnull
includeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。- 戻り値:
- キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
- 例外:
BeansException
- Bean を作成できなかった場合- 関連事項:
getBeanNamesForAnnotation
対応する Bean インスタンスをまだ作成せずに、提供されたAnnotation
SE 型でアノテーションが付けられている Bean のすべての名前を検索します。このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。
- パラメーター:
annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)- 戻り値:
- 一致するすべての Bean の名前
- 導入:
- 4.0
- 関連事項:
getBeansWithAnnotation
MapSE<StringSE,ObjectSE> getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType) throws BeansException 指定されたAnnotation
SE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。
- パラメーター:
annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)- 戻り値:
- キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
- 例外:
BeansException
- Bean を作成できなかった場合- 導入:
- 3.0
- 関連事項:
findAnnotationOnBean
@Nullable <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType) throws NoSuchBeanDefinitionException 指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。- パラメーター:
beanName
- アノテーションを探す Bean の名前annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)- 戻り値:
- 見つかった場合は指定された型のアノテーション、そうでない場合は
null
- 例外:
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合- 導入:
- 3.0
- 関連事項:
findAnnotationOnBean
@Nullable <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException 指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。- パラメーター:
beanName
- アノテーションを探す Bean の名前annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)allowFactoryBeanInit
-FactoryBean
がオブジェクト型を判別する目的でのみ初期化されるかどうか- 戻り値:
- 見つかった場合は指定された型のアノテーション、そうでない場合は
null
- 例外:
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合- 導入:
- 5.3.14
- 関連事項:
findAllAnnotationsOnBean
<A extends AnnotationSE> SetSE<A> findAllAnnotationsOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException 指定された Bean 上のannotationType
のすべてのAnnotation
SE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。- パラメーター:
beanName
- アノテーションを探す Bean の名前annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)allowFactoryBeanInit
-FactoryBean
がオブジェクト型を判別する目的でのみ初期化されるかどうか- 戻り値:
- 見つかった特定の型のアノテーションのセット (潜在的に空)
- 例外:
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合- 導入:
- 6.0
- 関連事項: