org.springframework.beans.factory
Class BeanFactoryUtils
- public abstract class BeanFactoryUtils
Convenience methods operating on bean factories, returning bean instances,
names or counts taking into account the nesting hierarchy of a bean factory.
- Author:
- Rod Johnson, Juergen Hoeller
- Version: $Id: BeanFactoryUtils.java,v 1.1 2004/02/04 17:23:23 jhoeller Exp $
- Since: 04-Jul-2003
| Method Summary |
static String[] | beanNamesIncludingAncestors(ListableBeanFactory lbf) Return all bean names in the factory, including ancestor factories. |
static String[] | beanNamesIncludingAncestors(ListableBeanFactory lbf, Class type) Get all bean names for the given type, including those defined in ancestor
factories. |
static Object | beanOfType(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean includeFactoryBeans) Return a single bean of the given type or subtypes, not looking in ancestor factories. |
static Object | beanOfType(ListableBeanFactory lbf, Class type) Return a single bean of the given type or subtypes, not looking in ancestor factories. |
static Object | beanOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean includeFactoryBeans) 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. |
static Map | beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean includeFactoryBeans) 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. |
static int | countBeansIncludingAncestors(ListableBeanFactory lbf) Count all bean definitions in any hierarchy in which this
factory participates. |
beanNamesIncludingAncestors
public static String[] beanNamesIncludingAncestors(ListableBeanFactory lbf)
- Return all bean names in the factory, including ancestor factories.
- Parameters:
- lbf - the bean factory
- Returns: the array of bean names, or an empty array if none
beanNamesIncludingAncestors
public static String[] beanNamesIncludingAncestors(ListableBeanFactory lbf, Class type)
- Get all bean names for the given type, including those defined in ancestor
factories. Will return unique names in case of overridden bean definitions.
- Parameters:
- lbf - ListableBeanFactory. If this isn't also a HierarchicalBeanFactory,
this method will return the same as it's own getBeanDefinitionNames() method.
- type - the type that beans must match
- Returns: the array of bean names, or an empty array if none
beanOfType
public static Object beanOfType(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean includeFactoryBeans)
throws org.springframework.beans.BeansException
- 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.
- Parameters:
- lbf - the bean factory
- type - type of bean to match
- includePrototypes - whether to include prototype beans too or just singletons
(also applies to FactoryBeans)
- includeFactoryBeans - whether to include FactoryBeans too or just normal beans
- Returns: the Map of bean instances, or an empty Map if none
- Throws:
- org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found
- org.springframework.beans.BeansException - if the bean could not be created
beanOfType
public static Object beanOfType(ListableBeanFactory lbf, Class type)
throws org.springframework.beans.BeansException
- 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.
This version of beanOfType automatically includes prototypes and FactoryBeans.
- Parameters:
- lbf - the bean factory
- type - type of bean to match
- Returns: the Map of bean instances, or an empty Map if none
- Throws:
- org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found
- org.springframework.beans.BeansException - if the bean could not be created
beanOfTypeIncludingAncestors
public static Object beanOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean includeFactoryBeans)
throws org.springframework.beans.BeansException
- 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.
- Parameters:
- lbf - the bean factory
- type - type of bean to match
- includePrototypes - whether to include prototype beans too or just singletons
(also applies to FactoryBeans)
- includeFactoryBeans - whether to include FactoryBeans too or just normal beans
- Returns: the Map of bean instances, or an empty Map if none
- Throws:
- org.springframework.beans.factory.NoSuchBeanDefinitionException - if 0 or more than 1 beans of the given type were found
- org.springframework.beans.BeansException - if the bean could not be created
beansOfTypeIncludingAncestors
public static Map beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type, boolean includePrototypes, boolean includeFactoryBeans)
throws org.springframework.beans.BeansException
- 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 return list will only contain beans of this type.
Useful convenience method when we don't care about bean names.
- Parameters:
- lbf - the bean factory
- type - type of bean to match
- includePrototypes - whether to include prototype beans too or just singletons
(also applies to FactoryBeans)
- includeFactoryBeans - whether to include FactoryBeans too or just normal beans
- Returns: the Map of bean instances, or an empty Map if none
- Throws:
- org.springframework.beans.BeansException - if the beans could not be created
countBeansIncludingAncestors
public static int countBeansIncludingAncestors(ListableBeanFactory lbf)
- Count all bean definitions 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 counted only once.
- Parameters:
- lbf
- Returns: int count of beans including those defined in ancestor factories