インターフェース ListableBeanFactory

すべてのスーパーインターフェース:
BeanFactory
すべての既知のサブインターフェース:
ApplicationContextConfigurableApplicationContextConfigurableListableBeanFactoryConfigurableWebApplicationContextWebApplicationContext
すべての既知の実装クラス:
AbstractApplicationContextAbstractRefreshableApplicationContextAbstractRefreshableConfigApplicationContextAbstractRefreshableWebApplicationContextAbstractXmlApplicationContextAnnotationConfigApplicationContextAnnotationConfigWebApplicationContextClassPathXmlApplicationContextDefaultListableBeanFactoryFileSystemXmlApplicationContextGenericApplicationContextGenericGroovyApplicationContextGenericWebApplicationContextGenericXmlApplicationContextGroovyWebApplicationContextStaticApplicationContextStaticListableBeanFactoryStaticWebApplicationContextXmlWebApplicationContext

public interface ListableBeanFactory extends BeanFactory
Bean ファクトリによって実装される 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
    この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。
    <A extends AnnotationSE>
    SetSE<A>
    findAllAnnotationsOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit)
    指定された Bean 上の annotationType のすべての AnnotationSE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。
    <A extends AnnotationSE>
    A
    findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType)
    指定された Bean で annotationType の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。
    <A extends AnnotationSE>
    A
    findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit)
    指定された Bean で annotationType の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。
    int
    ファクトリで定義されている Bean の数を返します。
    このファクトリで定義されているすべての Bean の名前を返します。
    対応する Bean インスタンスをまだ作成せずに、提供された AnnotationSE 型でアノテーションが付けられている Bean のすべての名前を検索します。
    Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。
    getBeanNamesForType(ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit)
    Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。
    Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。
    getBeanNamesForType(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit)
    Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。
    getBeanProvider(ClassSE<T> requiredType, boolean allowEagerInit)
    指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
    getBeanProvider(ResolvableType requiredType, boolean allowEagerInit)
    指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
    Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。
    getBeansOfType(ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit)
    Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。
    getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType)
    指定された AnnotationSE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。

    インターフェース org.springframework.beans.factory.BeanFactory から継承されたメソッド

    containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
  • メソッドの詳細

    • containsBeanDefinition

      boolean containsBeanDefinition(StringSE beanName)
      この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      パラメーター:
      beanName - 検索する Bean の名前
      戻り値:
      この Bean ファクトリに、指定された名前の Bean 定義が含まれている場合
      関連事項:
    • getBeanDefinitionCount

      int getBeanDefinitionCount()
      ファクトリで定義されている Bean の数を返します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      戻り値:
      ファクトリで定義された Bean の数
    • getBeanDefinitionNames

      StringSE[] getBeanDefinitionNames()
      このファクトリで定義されているすべての Bean の名前を返します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      戻り値:
      このファクトリで定義されているすべての Bean の名前。定義されていない場合は空の配列
    • getBeanProvider

      <T> ObjectProvider<T> getBeanProvider(ClassSE<T> requiredType, boolean allowEagerInit)
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      allowEagerInit - ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか
      戻り値:
      対応するプロバイダーのハンドル
      導入:
      5.3
      関連事項:
    • getBeanProvider

      <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType, boolean allowEagerInit)
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
      パラメーター:
      requiredType - Bean が一致する必要がある型。ジェネリクス型宣言にすることができます。ここでは、反射インジェクションポイントとは対照的に、コレクション型はサポートされていません。プログラムで特定の型に一致する Bean のリストを取得するには、実際の Bean 型をここで引数として指定し、その後 ObjectProvider.orderedStream() またはその遅延ストリーミング / 反復オプションを使用します。
      allowEagerInit - ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか
      戻り値:
      対応するプロバイダーのハンドル
      導入:
      5.3
      関連事項:
    • getBeanNamesForType

      StringSE[] getBeanNamesForType(ResolvableType type)
      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

      StringSE[] getBeanNamesForType(@Nullable ClassSE<?> type)
      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

      <T> MapSE<StringSE,T> getBeansOfType(@Nullable ClassSE<T> type) throws BeansException
      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

      StringSE[] getBeanNamesForAnnotation(ClassSE<? extends AnnotationSE> annotationType)
      対応する Bean インスタンスをまだ作成せずに、提供された AnnotationSE 型でアノテーションが付けられている Bean のすべての名前を検索します。

      このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。

      パラメーター:
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      一致するすべての Bean の名前
      導入:
      4.0
      関連事項:
    • getBeansWithAnnotation

      MapSE<StringSE,ObjectSE> getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType) throws BeansException
      指定された AnnotationSE 型でアノテーションが付けられたすべての 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 の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、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 の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、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 のすべての AnnotationSE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      allowFactoryBeanInit - FactoryBean がオブジェクト型を判別する目的でのみ初期化されるかどうか
      戻り値:
      見つかった特定の型のアノテーションのセット (潜在的に空)
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      導入:
      6.0
      関連事項: