AnnotationBeanNameGenerator that uses the fully qualified
class name as the default bean name if an explicit bean name is not supplied via
a supported type-level annotation such as @Component (see
AnnotationBeanNameGenerator for details on supported annotations).
Favor this bean naming strategy over AnnotationBeanNameGenerator if
you run into naming conflicts due to multiple autodetected components having the
same non-qualified class name (i.e., classes with identical names but residing in
different packages).
Note that an instance of this class is used by default for configuration-level
import purposes; whereas, the default for component scanning purposes is a plain
AnnotationBeanNameGenerator.
org.springframework.beans.factory.support.DefaultBeanNameGenerator , AnnotationBeanNameGenerator, ConfigurationClassPostProcessor#IMPORT_BEAN_NAME_GENERATOR
| Modifier and Type | Field and Description |
|---|---|
| public static final FullyQualifiedAnnotationBeanNameGenerator | INSTANCE
Hides org. FullyQualifiedAnnotationBeanNameGenerator
instance, as used for configuration-level import purposes.
|
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected String | buildDefaultBeanName(BeanDefinition
the bean definition to build a bean name for definition)Overrides org. |
| INSTANCE | back to summary |
|---|---|
| public static final FullyQualifiedAnnotationBeanNameGenerator INSTANCE Hides org. A convenient constant for a default
| |
| FullyQualifiedAnnotationBeanNameGenerator | back to summary |
|---|---|
| public FullyQualifiedAnnotationBeanNameGenerator() | |
| buildDefaultBeanName | back to summary |
|---|---|
| protected String buildDefaultBeanName(BeanDefinition definition) Overrides org. Doc from org. Derive a default bean name from the given bean definition. The default implementation simply builds a decapitalized version of the short class name: e.g. "mypackage.MyJdbcDao" → "myJdbcDao". Note that inner classes will thus have names of the form "outerClassName.InnerClassName", which because of the period in the name may be an issue if you are autowiring by name.
| |