Class FullyQualifiedAnnotationBeanNameGenerator
- All Implemented Interfaces:
 BeanNameGenerator
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.
- Since:
 - 5.2.3
 - Author:
 - Juergen Hoeller, Sam Brannen
 - See Also:
 
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FullyQualifiedAnnotationBeanNameGeneratorA convenient constant for a defaultFullyQualifiedAnnotationBeanNameGeneratorinstance, as used for configuration-level import purposes. - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected StringbuildDefaultBeanName(BeanDefinition definition) Derive a default bean name from the given bean definition.Methods inherited from class org.springframework.context.annotation.AnnotationBeanNameGenerator
buildDefaultBeanName, determineBeanNameFromAnnotation, generateBeanName, isStereotypeWithNameValue 
- 
Field Details
- 
INSTANCE
A convenient constant for a defaultFullyQualifiedAnnotationBeanNameGeneratorinstance, as used for configuration-level import purposes.- Since:
 - 5.2.11
 
 
 - 
 - 
Constructor Details
- 
FullyQualifiedAnnotationBeanNameGenerator
public FullyQualifiedAnnotationBeanNameGenerator() 
 - 
 - 
Method Details
- 
buildDefaultBeanName
Description copied from class:AnnotationBeanNameGeneratorDerive a default bean name from the given bean definition.The default implementation simply builds a decapitalized version of the short class name: for example, "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.
- Overrides:
 buildDefaultBeanNamein classAnnotationBeanNameGenerator- Parameters:
 definition- the bean definition to build a bean name for- Returns:
 - the default bean name (never 
null) 
 
 -