Class FullyQualifiedConfigurationBeanNameGenerator
java.lang.Object
org.springframework.context.annotation.AnnotationBeanNameGenerator
org.springframework.context.annotation.FullyQualifiedAnnotationBeanNameGenerator
org.springframework.context.annotation.FullyQualifiedConfigurationBeanNameGenerator
- All Implemented Interfaces:
BeanNameGenerator, ConfigurationBeanNameGenerator
public class FullyQualifiedConfigurationBeanNameGenerator
extends FullyQualifiedAnnotationBeanNameGenerator
implements ConfigurationBeanNameGenerator
Extended variant of
FullyQualifiedAnnotationBeanNameGenerator
for
@Configuration
class purposes, not only enforcing
fully-qualified names for component and configuration classes themselves
but also fully-qualified default bean names ("className.methodName") for
@Bean
methods. By default, this only affects methods without
an explicit name
attribute specified.
This provides an alternative to the default bean name generation for
@Bean
methods (which uses the plain method name), primarily for use
in large applications with potential bean name overlaps. Favor this bean
naming strategy over FullyQualifiedAnnotationBeanNameGenerator
if
you expect such naming conflicts for @Bean
methods, as long as the
application does not depend on @Bean
method names as bean names.
Where the name does matter, make sure to declare @Bean("myBeanName")
in such a scenario, even if it repeats the method name as the bean name.
- Since:
- 7.0
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FullyQualifiedConfigurationBeanNameGenerator
A convenient constant for a defaultFullyQualifiedConfigurationBeanNameGenerator
instance, as used for configuration-level import purposes. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionderiveBeanName
(MethodMetadata beanMethod, @Nullable String beanName) Methods inherited from class FullyQualifiedAnnotationBeanNameGenerator
buildDefaultBeanName
Methods inherited from class AnnotationBeanNameGenerator
buildDefaultBeanName, determineBeanNameFromAnnotation, generateBeanName, isStereotypeWithNameValue
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface BeanNameGenerator
generateBeanName
-
Field Details
-
INSTANCE
A convenient constant for a defaultFullyQualifiedConfigurationBeanNameGenerator
instance, as used for configuration-level import purposes.
-
-
Constructor Details
-
FullyQualifiedConfigurationBeanNameGenerator
public FullyQualifiedConfigurationBeanNameGenerator()
-
-
Method Details
-
deriveBeanName
Description copied from interface:ConfigurationBeanNameGenerator
- Specified by:
deriveBeanName
in interfaceConfigurationBeanNameGenerator
- Parameters:
beanMethod
- the method metadata for the@Bean
methodbeanName
- thename
attribute ornull
if non is specified- Returns:
- the default bean name to use
-