| java.lang.Object org.springframework.beans.factory.BeanFactoryUtils
BeanFactoryUtils | abstract public class BeanFactoryUtils (Code) | | Convenience methods operating on bean factories, in particular
on the
ListableBeanFactory interface.
Returns bean counts, bean names or bean instances,
taking into account the nesting hierarchy of a bean factory
(which the methods defined on the ListableBeanFactory interface don't,
in contrast to the methods defined on the BeanFactory interface).
author: Rod Johnson author: Juergen Hoeller since: 04.07.2003 |
Method Summary | |
public static String[] | beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, Class type) Get all bean names for the given type, including those defined in ancestor
factories. | public static String[] | beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) Get all bean names for the given type, including those defined in ancestor
factories. | public static String[] | beanNamesIncludingAncestors(ListableBeanFactory lbf) Return all bean names in the factory, including ancestor factories. | public static Object | beanOfType(ListableBeanFactory lbf, Class type) Return a single bean of the given type or subtypes, not looking in ancestor
factories. | public static Object | beanOfType(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) Return a single bean of the given type or subtypes, not looking in ancestor
factories. | public static Object | beanOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type) Return a single bean of the given type or subtypes, also picking up beans
defined in ancestor bean factories if the current bean factory is a
HierarchicalBeanFactory. | public static Object | beanOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) Return a single bean of the given type or subtypes, also picking up beans
defined in ancestor bean factories if the current bean factory is a
HierarchicalBeanFactory. | public static Map | beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type) Return all beans of the given type or subtypes, also picking up beans defined in
ancestor bean factories if the current bean factory is a HierarchicalBeanFactory.
The returned Map will only contain beans of this type.
Does consider objects created by FactoryBeans, which means that FactoryBeans
will get initialized. | public static Map | beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) Return all beans of the given type or subtypes, also picking up beans defined in
ancestor bean factories if the current bean factory is a HierarchicalBeanFactory.
The returned Map will only contain beans of this type.
Does consider objects created by FactoryBeans if the "allowEagerInit"
flag is set, which means that FactoryBeans will get initialized. | public static int | countBeansIncludingAncestors(ListableBeanFactory lbf) Count all beans in any hierarchy in which this factory participates. | public static boolean | isFactoryDereference(String name) Return whether the given name is a factory dereference
(beginning with the factory dereference prefix). | public static String | originalBeanName(String name) Extract the "raw" bean name from the given (potentially generated) bean name,
excluding any "#..." suffixes which might have been added for uniqueness. | public static String | transformedBeanName(String name) Return the actual bean name, stripping out the factory dereference
prefix (if any, also stripping repeated factory prefixes if found). |
GENERATED_BEAN_NAME_SEPARATOR | final public static String GENERATED_BEAN_NAME_SEPARATOR(Code) | | Separator for generated bean names. If a class name or parent name is not
unique, "#1", "#2" etc will be appended, until the name becomes unique.
|
beanNamesForTypeIncludingAncestors | public static String[] beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, Class type)(Code) | | Get all bean names for the given type, including those defined in ancestor
factories. Will return unique names in case of overridden bean definitions.
Does consider objects created by FactoryBeans, which means that FactoryBeans
will get initialized. If the object created by the FactoryBean doesn't match,
the raw FactoryBean itself will be matched against the type.
This version of beanNamesForTypeIncludingAncestors automatically
includes prototypes and FactoryBeans.
Parameters: lbf - the bean factory Parameters: type - the type that beans must match the array of matching bean names, or an empty array if none |
beanNamesForTypeIncludingAncestors | public static String[] beanNamesForTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit)(Code) | | Get all bean names for the given type, including those defined in ancestor
factories. Will return unique names in case of overridden bean definitions.
Does consider objects created by FactoryBeans if the "allowEagerInit"
flag is set, which means that FactoryBeans will get initialized. If the
object created by the FactoryBean doesn't match, the raw FactoryBean itself
will be matched against the type. If "allowEagerInit" is not set,
only raw FactoryBeans will be checked (which doesn't require initialization
of each FactoryBean).
Parameters: lbf - the bean factory Parameters: includePrototypes - whether to include prototype beans too or just singletons(also applies to FactoryBeans) Parameters: allowEagerInit - whether to initialize lazy-init singletons andobjects created by FactoryBeans (or by factory methods with a"factory-bean" reference) for the type check. Note that FactoryBeans need to beeagerly initialized to determine their type: So be aware that passing in "true"for this flag will initialize FactoryBeans and "factory-bean" references. Parameters: type - the type that beans must match the array of matching bean names, or an empty array if none |
beanOfType | public static Object beanOfType(ListableBeanFactory lbf, Class type) throws BeansException(Code) | | Return a single bean of the given type or subtypes, not looking in ancestor
factories. Useful convenience method when we expect a single bean and
don't care about the bean name.
Does consider objects created by FactoryBeans, which means that FactoryBeans
will get initialized. If the object created by the FactoryBean doesn't match,
the raw FactoryBean itself will be matched against the type.
This version of beanOfType automatically includes
prototypes and FactoryBeans.
Parameters: lbf - the bean factory Parameters: type - type of bean to match the matching bean instance throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if no single bean could be found for the given type throws: BeansException - if the bean could not be created |
beanOfType | public static Object beanOfType(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) throws BeansException(Code) | | Return a single bean of the given type or subtypes, not looking in ancestor
factories. Useful convenience method when we expect a single bean and
don't care about the bean name.
Does consider objects created by FactoryBeans if the "allowEagerInit"
flag is set, which means that FactoryBeans will get initialized. If the
object created by the FactoryBean doesn't match, the raw FactoryBean itself
will be matched against the type. If "allowEagerInit" is not set,
only raw FactoryBeans will be checked (which doesn't require initialization
of each FactoryBean).
Parameters: lbf - the bean factory Parameters: type - type of bean to match Parameters: includePrototypes - whether to include prototype beans too or just singletons(also applies to FactoryBeans) Parameters: allowEagerInit - whether to initialize lazy-init singletons andobjects created by FactoryBeans (or by factory methods with a"factory-bean" reference) for the type check. Note that FactoryBeans need to beeagerly initialized to determine their type: So be aware that passing in "true"for this flag will initialize FactoryBeans and "factory-bean" references. the matching bean instance throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if no single bean could be found for the given type throws: BeansException - if the bean could not be created |
beanOfTypeIncludingAncestors | public static Object beanOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type) throws BeansException(Code) | | Return a single bean of the given type or subtypes, also picking up beans
defined in ancestor bean factories if the current bean factory is a
HierarchicalBeanFactory. Useful convenience method when we expect a
single bean and don't care about the bean name.
Does consider objects created by FactoryBeans, which means that FactoryBeans
will get initialized. If the object created by the FactoryBean doesn't match,
the raw FactoryBean itself will be matched against the type.
This version of beanOfTypeIncludingAncestors automatically includes
prototypes and FactoryBeans.
Parameters: lbf - the bean factory Parameters: type - type of bean to match the matching bean instance throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if no single bean could be found for the given type throws: BeansException - if the bean could not be created |
beanOfTypeIncludingAncestors | public static Object beanOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) throws BeansException(Code) | | Return a single bean of the given type or subtypes, also picking up beans
defined in ancestor bean factories if the current bean factory is a
HierarchicalBeanFactory. Useful convenience method when we expect a
single bean and don't care about the bean name.
Does consider objects created by FactoryBeans if the "allowEagerInit"
flag is set, which means that FactoryBeans will get initialized. If the
object created by the FactoryBean doesn't match, the raw FactoryBean itself
will be matched against the type. If "allowEagerInit" is not set,
only raw FactoryBeans will be checked (which doesn't require initialization
of each FactoryBean).
Parameters: lbf - the bean factory Parameters: type - type of bean to match Parameters: includePrototypes - whether to include prototype beans too or just singletons(also applies to FactoryBeans) Parameters: allowEagerInit - whether to initialize lazy-init singletons andobjects created by FactoryBeans (or by factory methods with a"factory-bean" reference) for the type check. Note that FactoryBeans need to beeagerly initialized to determine their type: So be aware that passing in "true"for this flag will initialize FactoryBeans and "factory-bean" references. the matching bean instance throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found throws: org.springframework.beans.factory.NoSuchBeanDefinitionException - if no single bean could be found for the given type throws: BeansException - if the bean could not be created |
beansOfTypeIncludingAncestors | public static Map beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type) throws BeansException(Code) | | Return all beans of the given type or subtypes, also picking up beans defined in
ancestor bean factories if the current bean factory is a HierarchicalBeanFactory.
The returned Map will only contain beans of this type.
Does consider objects created by FactoryBeans, which means that FactoryBeans
will get initialized. If the object created by the FactoryBean doesn't match,
the raw FactoryBean itself will be matched against the type.
Parameters: lbf - the bean factory Parameters: type - type of bean to match the Map of matching bean instances, or an empty Map if none throws: BeansException - if a bean could not be created |
beansOfTypeIncludingAncestors | public static Map beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean allowEagerInit) throws BeansException(Code) | | Return all beans of the given type or subtypes, also picking up beans defined in
ancestor bean factories if the current bean factory is a HierarchicalBeanFactory.
The returned Map will only contain beans of this type.
Does consider objects created by FactoryBeans if the "allowEagerInit"
flag is set, which means that FactoryBeans will get initialized. If the
object created by the FactoryBean doesn't match, the raw FactoryBean itself
will be matched against the type. If "allowEagerInit" is not set,
only raw FactoryBeans will be checked (which doesn't require initialization
of each FactoryBean).
Parameters: lbf - the bean factory Parameters: type - type of bean to match Parameters: includePrototypes - whether to include prototype beans too or just singletons(also applies to FactoryBeans) Parameters: allowEagerInit - whether to initialize lazy-init singletons andobjects created by FactoryBeans (or by factory methods with a"factory-bean" reference) for the type check. Note that FactoryBeans need to beeagerly initialized to determine their type: So be aware that passing in "true"for this flag will initialize FactoryBeans and "factory-bean" references. the Map of matching bean instances, or an empty Map if none throws: BeansException - if a bean could not be created |
countBeansIncludingAncestors | public static int countBeansIncludingAncestors(ListableBeanFactory lbf)(Code) | | Count all beans in any hierarchy in which this factory participates.
Includes counts of ancestor bean factories.
Beans that are "overridden" (specified in a descendant factory
with the same name) are only counted once.
Parameters: lbf - the bean factory count of beans including those defined in ancestor factories |
isFactoryDereference | public static boolean isFactoryDereference(String name)(Code) | | Return whether the given name is a factory dereference
(beginning with the factory dereference prefix).
Parameters: name - the name of the bean whether the given name is a factory dereference See Also: BeanFactory.FACTORY_BEAN_PREFIX |
originalBeanName | public static String originalBeanName(String name)(Code) | | Extract the "raw" bean name from the given (potentially generated) bean name,
excluding any "#..." suffixes which might have been added for uniqueness.
Parameters: name - the potentially generated bean name the raw bean name See Also: BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR |
transformedBeanName | public static String transformedBeanName(String name)(Code) | | Return the actual bean name, stripping out the factory dereference
prefix (if any, also stripping repeated factory prefixes if found).
Parameters: name - the name of the bean the transformed name See Also: BeanFactory.FACTORY_BEAN_PREFIX |
|
|