クラス BeanFactoryUtils
ListableBeanFactory
インターフェースで動作する便利なメソッド。Bean ファクトリのネスト階層を考慮して、Bean カウント、Bean 名、Bean インスタンスを返します(BeanFactory インターフェースで定義されたメソッドとは対照的に、ListableBeanFactory インターフェースで定義されたメソッドはそうではありません)。
- 導入:
- 04.07.2003
- 作成者:
- Rod Johnson, Juergen Hoeller, Chris Beams
フィールドサマリー
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明static StringSE[]
beanNamesForAnnotationIncludingAncestors
(ListableBeanFactory lbf, ClassSE<? extends AnnotationSE> annotationType) Bean インスタンスを作成せずに、祖先ファクトリで定義されたものを含め、Class
に指定されたAnnotation
SE 型を持つすべての Bean 名を取得します。static StringSE[]
beanNamesForTypeIncludingAncestors
(ListableBeanFactory lbf, ClassSE<?> type) 祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。static StringSE[]
beanNamesForTypeIncludingAncestors
(ListableBeanFactory lbf, ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit) 祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。static StringSE[]
祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。static StringSE[]
beanNamesForTypeIncludingAncestors
(ListableBeanFactory lbf, ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit) 祖先ファクトリで定義された名前を含む、指定された型のすべての Bean 名を取得します。static StringSE[]
祖先ファクトリを含む、ファクトリ内のすべての Bean 名を返します。static <T> T
beanOfType
(ListableBeanFactory lbf, ClassSE<T> type) 祖先ファクトリを検索せずに、指定された型またはサブ型の単一の Bean を返します。static <T> T
beanOfType
(ListableBeanFactory lbf, ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) 祖先ファクトリを検索せずに、指定された型またはサブ型の単一の Bean を返します。static <T> T
beanOfTypeIncludingAncestors
(ListableBeanFactory lbf, ClassSE<T> type) 特定の型またはサブ型の単一の Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory である場合は、祖先 Bean ファクトリで定義された Bean もピックアップします。static <T> T
beanOfTypeIncludingAncestors
(ListableBeanFactory lbf, ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) 特定の型またはサブ型の単一の Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory である場合は、祖先 Bean ファクトリで定義された Bean もピックアップします。beansOfTypeIncludingAncestors
(ListableBeanFactory lbf, ClassSE<T> type) 指定された型またはサブ型のすべての Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory である場合は、祖先 Bean ファクトリで定義された Bean も取得します。beansOfTypeIncludingAncestors
(ListableBeanFactory lbf, ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) 指定された型またはサブ型のすべての Bean を返します。現在の Bean ファクトリが HierarchicalBeanFactory である場合は、祖先 Bean ファクトリで定義された Bean も取得します。static int
このファクトリが参加する階層内のすべての Bean をカウントします。static boolean
isFactoryDereference
(StringSE name) 指定された名前がファクトリ参照解除(ファクトリ参照解除プレフィックスで始まる)かどうかを返します。static boolean
isGeneratedBeanName
(StringSE name) 指定された名前が、デフォルトの命名戦略( "#..." 部分を含む)によって生成された Bean 名であるかどうかを返します。static StringSE
originalBeanName
(StringSE name) 指定された(潜在的に生成された)Bean 名から「生の」Bean 名を抽出します。一意性のために追加された可能性のある "#..." 接尾部は除きます。static StringSE
transformedBeanName
(StringSE name) 実際の Bean 名を返し、ファクトリ参照解除接頭辞を除去します(存在する場合は、繰り返されたファクトリ接頭辞が見つかった場合も除去します)。
フィールドの詳細
GENERATED_BEAN_NAME_SEPARATOR
生成された Bean 名の区切り文字。クラス名または親名が一意でない場合、名前が一意になるまで "#1"、"#2" などが追加されます。- 関連事項:
コンストラクターの詳細
BeanFactoryUtils
public BeanFactoryUtils()
メソッドの詳細
isFactoryDereference
指定された名前がファクトリ参照解除(ファクトリ参照解除プレフィックスで始まる)かどうかを返します。- パラメーター:
name
- Bean の名前- 戻り値:
- 指定された名前がファクトリ参照解除であるかどうか
- 関連事項:
transformedBeanName
実際の Bean 名を返し、ファクトリ参照解除接頭辞を除去します(存在する場合は、繰り返されたファクトリ接頭辞が見つかった場合も除去します)。- パラメーター:
name
- Bean の名前- 戻り値:
- 変換された名前
- 関連事項:
isGeneratedBeanName
指定された名前が、デフォルトの命名戦略( "#..." 部分を含む)によって生成された Bean 名であるかどうかを返します。- パラメーター:
name
- Bean の名前- 戻り値:
- 指定された名前が生成された Bean 名かどうか
- 関連事項:
originalBeanName
指定された(潜在的に生成された)Bean 名から「生の」Bean 名を抽出します。一意性のために追加された可能性のある "#..." 接尾部は除きます。- パラメーター:
name
- 潜在的に生成された Bean 名- 戻り値:
- 生の Bean 名
- 関連事項:
countBeansIncludingAncestors
このファクトリが参加する階層内のすべての Bean をカウントします。祖先 Bean ファクトリの数を含みます。「オーバーライド」された(同じ名前の子孫ファクトリで指定された)Bean は 1 回だけカウントされます。
- パラメーター:
lbf
- Bean ファクトリ- 戻り値:
- 先祖のファクトリで定義されたものを含む Bean の数
- 関連事項:
beanNamesIncludingAncestors
祖先ファクトリを含む、ファクトリ内のすべての 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
に指定されたAnnotation
SE 型を持つすべての 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
祖先ファクトリではなく、指定された型またはサブ型の単一の 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 を作成できなかった場合- 関連事項: