Class BeanDefinitionReaderUtils
java.lang.Object
org.springframework.beans.factory.support.BeanDefinitionReaderUtils
Utility methods that are useful for bean definition reader implementations.
 Mainly intended for internal use.
- Since:
- 1.1
- Author:
- Juergen Hoeller, Rob Harrop
- See Also:
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic AbstractBeanDefinitioncreateBeanDefinition(String parentName, String className, ClassLoader classLoader) Create a new GenericBeanDefinition for the given parent name and class name, eagerly loading the bean class if a ClassLoader has been specified.static StringgenerateBeanName(BeanDefinition beanDefinition, BeanDefinitionRegistry registry) Generate a bean name for the given top-level bean definition, unique within the given bean factory.static StringgenerateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry, boolean isInnerBean) Generate a bean name for the given bean definition, unique within the given bean factory.static voidregisterBeanDefinition(BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry) Register the given bean definition with the given bean factory.static StringregisterWithGeneratedName(AbstractBeanDefinition definition, BeanDefinitionRegistry registry) Register the given bean definition with a generated name, unique within the given bean factory.static StringuniqueBeanName(String beanName, BeanDefinitionRegistry registry) Turn the given bean name into a unique bean name for the given bean factory, appending a unique counter as suffix if necessary.
- 
Field Details- 
GENERATED_BEAN_NAME_SEPARATORSeparator 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.- See Also:
 
 
- 
- 
Constructor Details- 
BeanDefinitionReaderUtilspublic BeanDefinitionReaderUtils()
 
- 
- 
Method Details- 
createBeanDefinitionpublic static AbstractBeanDefinition createBeanDefinition(@Nullable String parentName, @Nullable String className, @Nullable ClassLoader classLoader) throws ClassNotFoundException Create a new GenericBeanDefinition for the given parent name and class name, eagerly loading the bean class if a ClassLoader has been specified.- Parameters:
- parentName- the name of the parent bean, if any
- className- the name of the bean class, if any
- classLoader- the ClassLoader to use for loading bean classes (can be- nullto just register bean classes by name)
- Returns:
- the bean definition
- Throws:
- ClassNotFoundException- if the bean class could not be loaded
 
- 
generateBeanNamepublic static String generateBeanName(BeanDefinition beanDefinition, BeanDefinitionRegistry registry) throws BeanDefinitionStoreException Generate a bean name for the given top-level bean definition, unique within the given bean factory.- Parameters:
- beanDefinition- the bean definition to generate a bean name for
- registry- the bean factory that the definition is going to be registered with (to check for existing bean names)
- Returns:
- the generated bean name
- Throws:
- BeanDefinitionStoreException- if no unique name can be generated for the given bean definition
- See Also:
 
- 
generateBeanNamepublic static String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry, boolean isInnerBean) throws BeanDefinitionStoreException Generate a bean name for the given bean definition, unique within the given bean factory.- Parameters:
- definition- the bean definition to generate a bean name for
- registry- the bean factory that the definition is going to be registered with (to check for existing bean names)
- isInnerBean- whether the given bean definition will be registered as inner bean or as top-level bean (allowing for special name generation for inner beans versus top-level beans)
- Returns:
- the generated bean name
- Throws:
- BeanDefinitionStoreException- if no unique name can be generated for the given bean definition
 
- 
uniqueBeanNameTurn the given bean name into a unique bean name for the given bean factory, appending a unique counter as suffix if necessary.- Parameters:
- beanName- the original bean name
- registry- the bean factory that the definition is going to be registered with (to check for existing bean names)
- Returns:
- the unique bean name to use
- Since:
- 5.1
 
- 
registerBeanDefinitionpublic static void registerBeanDefinition(BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry) throws BeanDefinitionStoreException Register the given bean definition with the given bean factory.- Parameters:
- definitionHolder- the bean definition including name and aliases
- registry- the bean factory to register with
- Throws:
- BeanDefinitionStoreException- if registration failed
 
- 
registerWithGeneratedNamepublic static String registerWithGeneratedName(AbstractBeanDefinition definition, BeanDefinitionRegistry registry) throws BeanDefinitionStoreException Register the given bean definition with a generated name, unique within the given bean factory.- Parameters:
- definition- the bean definition to generate a bean name for
- registry- the bean factory to register with
- Returns:
- the generated bean name
- Throws:
- BeanDefinitionStoreException- if no unique name can be generated for the given bean definition or the definition cannot be registered
 
 
-