クラス BeanFactoryUtils

java.lang.ObjectSE
org.springframework.beans.factory.BeanFactoryUtils

public abstract class BeanFactoryUtils extends ObjectSE
Bean ファクトリ、特に ListableBeanFactory インターフェースで動作する便利なメソッド。

Bean ファクトリのネスト階層を考慮して、Bean カウント、Bean 名、Bean インスタンスを返します(BeanFactory インターフェースで定義されたメソッドとは対照的に、ListableBeanFactory インターフェースで定義されたメソッドはそうではありません)。

導入:
04.07.2003
作成者:
Rod Johnson, Juergen Hoeller, Chris Beams
  • フィールドの詳細

    • GENERATED_BEAN_NAME_SEPARATOR

      public static final StringSE GENERATED_BEAN_NAME_SEPARATOR
      生成された Bean 名の区切り文字。クラス名または親名が一意でない場合、名前が一意になるまで "#1"、"#2" などが追加されます。
      関連事項:
  • コンストラクターの詳細

    • BeanFactoryUtils

      public BeanFactoryUtils()
  • メソッドの詳細

    • isFactoryDereference

      public static boolean isFactoryDereference(@Nullable StringSE name)
      指定された名前がファクトリ参照解除(ファクトリ参照解除プレフィックスで始まる)かどうかを返します。
      パラメーター:
      name - Bean の名前
      戻り値:
      指定された名前がファクトリ参照解除であるかどうか
      関連事項:
    • transformedBeanName

      public static StringSE transformedBeanName(StringSE name)
      実際の Bean 名を返し、ファクトリ参照解除接頭辞を除去します(存在する場合は、繰り返されたファクトリ接頭辞が見つかった場合も除去します)。
      パラメーター:
      name - Bean の名前
      戻り値:
      変換された名前
      関連事項:
    • isGeneratedBeanName

      public static boolean isGeneratedBeanName(@Nullable StringSE name)
      指定された名前が、デフォルトの命名戦略( "#..." 部分を含む)によって生成された Bean 名であるかどうかを返します。
      パラメーター:
      name - Bean の名前
      戻り値:
      指定された名前が生成された Bean 名かどうか
      関連事項:
    • originalBeanName

      public static StringSE originalBeanName(StringSE name)
      指定された(潜在的に生成された)Bean 名から「生の」Bean 名を抽出します。一意性のために追加された可能性のある "#..." 接尾部は除きます。
      パラメーター:
      name - 潜在的に生成された Bean 名
      戻り値:
      生の Bean 名
      関連事項:
    • countBeansIncludingAncestors

      public static int countBeansIncludingAncestors(ListableBeanFactory lbf)
      このファクトリが参加する階層内のすべての Bean をカウントします。祖先 Bean ファクトリの数を含みます。

      「オーバーライド」された(同じ名前の子孫ファクトリで指定された)Bean は 1 回だけカウントされます。

      パラメーター:
      lbf - Bean ファクトリ
      戻り値:
      先祖のファクトリで定義されたものを含む Bean の数
      関連事項:
    • beanNamesIncludingAncestors

      public static StringSE[] beanNamesIncludingAncestors(ListableBeanFactory lbf)
      祖先ファクトリを含む、ファクトリ内のすべての Bean 名を返します。
      パラメーター:
      lbf - Bean ファクトリ
      戻り値:
      一致する Bean 名の配列、または存在しない場合は空の配列
      関連事項:
    • beanNamesForTypeIncludingAncestors

      public static StringSE[] beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, ResolvableType type)
      祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。Bean 定義をオーバーライドした場合、一意の名前を返します。

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このバージョンの beanNamesForTypeIncludingAncestors には、プロトタイプと FactoryBeans が自動的に含まれます。

      パラメーター:
      lbf - Bean ファクトリ
      type - Bean が一致する必要がある型 (ResolvableType として)
      戻り値:
      一致する Bean 名の配列、または存在しない場合は空の配列
      導入:
      4.2
      関連事項:
    • beanNamesForTypeIncludingAncestors

      public static StringSE[] beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit)
      祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。Bean 定義をオーバーライドした場合、一意の名前を返します。

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      パラメーター:
      lbf - Bean ファクトリ
      type - Bean が一致する必要がある型 (ResolvableType として)
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      一致する Bean 名の配列、または存在しない場合は空の配列
      導入:
      5.2
      関連事項:
    • beanNamesForTypeIncludingAncestors

      public static StringSE[] beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, ClassSE<?> type)
      祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。Bean 定義をオーバーライドした場合、一意の名前を返します。

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このバージョンの beanNamesForTypeIncludingAncestors には、プロトタイプと FactoryBeans が自動的に含まれます。

      パラメーター:
      lbf - Bean ファクトリ
      type - Bean が一致する必要がある型 (Class として)
      戻り値:
      一致する Bean 名の配列、または存在しない場合は空の配列
      関連事項:
    • beanNamesForTypeIncludingAncestors

      public static StringSE[] beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit)
      祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。Bean 定義をオーバーライドした場合、一意の名前を返します。

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      パラメーター:
      lbf - Bean ファクトリ
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      type - Bean が一致する必要がある型
      戻り値:
      一致する Bean 名の配列、または存在しない場合は空の配列
      関連事項:
    • beanNamesForAnnotationIncludingAncestors

      public static StringSE[] beanNamesForAnnotationIncludingAncestors(ListableBeanFactory lbf, ClassSE<? extends AnnotationSE> annotationType)
      Bean インスタンスを作成せずに、祖先ファクトリで定義されたものを含め、Class に指定された AnnotationSE 型を持つすべての Bean 名を取得します。Bean 定義をオーバーライドした場合、一意の名前を返します。
      パラメーター:
      lbf - Bean ファクトリ
      annotationType - 検索するアノテーションの型
      戻り値:
      一致する Bean 名の配列、または存在しない場合は空の配列
      導入:
      5.0
      関連事項:
    • beansOfTypeIncludingAncestors

      public static <T> MapSE<StringSE,T> beansOfTypeIncludingAncestors(ListableBeanFactory lbf, ClassSE<T> type) throws BeansException
      指定された型またはサブ型のすべての Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory である場合は、祖先 Bean ファクトリで定義された Bean も取得します。返されるマップには、この型の Bean のみが含まれます。

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      注: 同じ名前の Bean は、「最も低い」ファクトリレベルで優先されます。つまり、そのような Bean は、検出されている最下位のファクトリから返され、祖先ファクトリの対応する Bean を非表示にします。この機能により、子ファクトリで同じ Bean 名を明示的に選択することにより、Bean を「置き換える」ことができます。祖先ファクトリの Bean は、型ごとのルックアップでも表示されません。

      パラメーター:
      lbf - Bean ファクトリ
      type - 一致する Bean の型
      戻り値:
      一致する Bean インスタンスのマップ、または存在しない場合は空のマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • beansOfTypeIncludingAncestors

      public static <T> MapSE<StringSE,T> beansOfTypeIncludingAncestors(ListableBeanFactory lbf, ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
      指定された型またはサブ型のすべての Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory である場合は、祖先 Bean ファクトリで定義された Bean も取得します。返されるマップには、この型の Bean のみが含まれます。

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      注: 同じ名前の Bean は、「最も低い」ファクトリレベルで優先されます。つまり、そのような Bean は、検出されている最下位のファクトリから返され、祖先ファクトリの対応する Bean を非表示にします。この機能により、子ファクトリで同じ Bean 名を明示的に選択することにより、Bean を「置き換える」ことができます。祖先ファクトリの Bean は、型ごとのルックアップでも表示されません。

      パラメーター:
      lbf - Bean ファクトリ
      type - 一致する Bean の型
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      一致する Bean インスタンスのマップ、または存在しない場合は空のマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • beanOfTypeIncludingAncestors

      public static <T> T beanOfTypeIncludingAncestors(ListableBeanFactory lbf, ClassSE<T> type) throws BeansException
      指定された型またはサブ型の単一の Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory の場合は、祖先の Bean ファクトリで定義された Bean も取得します。単一の Bean を期待し、Bean 名を気にしない場合に便利なメソッド。

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このバージョンの beanOfTypeIncludingAncestors には、プロトタイプと FactoryBeans が自動的に含まれます。

      注: 同じ名前の Bean は、「最も低い」ファクトリレベルで優先されます。つまり、そのような Bean は、検出されている最下位のファクトリから返され、祖先ファクトリの対応する Bean を非表示にします。この機能により、子ファクトリで同じ Bean 名を明示的に選択することにより、Bean を「置き換える」ことができます。祖先ファクトリの Bean は、型ごとのルックアップでも表示されません。

      パラメーター:
      lbf - Bean ファクトリ
      type - 一致する Bean の型
      戻り値:
      一致する Bean インスタンス
      例外:
      NoSuchBeanDefinitionException - 指定された型の Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 指定された型の複数の Bean が見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項:
    • beanOfTypeIncludingAncestors

      public static <T> T beanOfTypeIncludingAncestors(ListableBeanFactory lbf, ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
      指定された型またはサブ型の単一の Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory の場合は、祖先の Bean ファクトリで定義された Bean も取得します。単一の Bean を期待し、Bean 名を気にしない場合に便利なメソッド。

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      注: 同じ名前の Bean は、「最も低い」ファクトリレベルで優先されます。つまり、そのような Bean は、検出されている最下位のファクトリから返され、祖先ファクトリの対応する Bean を非表示にします。この機能により、子ファクトリで同じ Bean 名を明示的に選択することにより、Bean を「置き換える」ことができます。祖先ファクトリの Bean は、型ごとのルックアップでも表示されません。

      パラメーター:
      lbf - Bean ファクトリ
      type - 一致する Bean の型
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      一致する Bean インスタンス
      例外:
      NoSuchBeanDefinitionException - 指定された型の Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 指定された型の複数の Bean が見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項:
    • beanOfType

      public static <T> T beanOfType(ListableBeanFactory lbf, ClassSE<T> type) throws BeansException
      祖先ファクトリではなく、指定された型またはサブ型の単一の Bean を返します。単一の Bean を期待し、Bean 名を気にしない場合に便利な便利なメソッド。

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このバージョンの beanOfType には、プロトタイプと FactoryBeans が自動的に含まれます。

      パラメーター:
      lbf - Bean ファクトリ
      type - 一致する Bean の型
      戻り値:
      一致する Bean インスタンス
      例外:
      NoSuchBeanDefinitionException - 指定された型の Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 指定された型の複数の Bean が見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項:
    • beanOfType

      public static <T> T beanOfType(ListableBeanFactory lbf, ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
      祖先ファクトリではなく、指定された型またはサブ型の単一の Bean を返します。単一の Bean を期待し、Bean 名を気にしない場合に便利な便利なメソッド。

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      パラメーター:
      lbf - Bean ファクトリ
      type - 一致する Bean の型
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      一致する Bean インスタンス
      例外:
      NoSuchBeanDefinitionException - 指定された型の Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 指定された型の複数の Bean が見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項: