Use RootBeanDefinition if possible
This commit adapts code that was using GenericBeanDefinition to use RootBeanDefinition instead. Spring Framework recommend to use RootBeanDefinition if it's pre-determined as root bean. See gh-42611
This commit is contained in:
committed by
Stéphane Nicoll
parent
f3d86b65a1
commit
7427304b3d
@@ -124,7 +124,7 @@ public class WebServicesAutoConfiguration {
|
||||
Function<Resource, T> beanSupplier, BeanDefinitionRegistry registry) {
|
||||
for (Resource resource : getResources(location, pattern)) {
|
||||
BeanDefinition beanDefinition = BeanDefinitionBuilder
|
||||
.genericBeanDefinition(type, () -> beanSupplier.apply(resource))
|
||||
.rootBeanDefinition(type, () -> beanSupplier.apply(resource))
|
||||
.getBeanDefinition();
|
||||
registry.registerBeanDefinition(StringUtils.stripFilenameExtension(resource.getFilename()),
|
||||
beanDefinition);
|
||||
|
||||
@@ -70,10 +70,10 @@ class SharedMetadataReaderFactoryContextInitializerTests {
|
||||
BeanDefinitionRegistry registry = (BeanDefinitionRegistry) context.getBeanFactory();
|
||||
ConfigurationClassPostProcessor configurationAnnotationPostProcessor = mock(
|
||||
ConfigurationClassPostProcessor.class);
|
||||
BeanDefinition beanDefinition = BeanDefinitionBuilder
|
||||
.genericBeanDefinition(ConfigurationClassPostProcessor.class)
|
||||
AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder
|
||||
.rootBeanDefinition(ConfigurationClassPostProcessor.class)
|
||||
.getBeanDefinition();
|
||||
((AbstractBeanDefinition) beanDefinition).setInstanceSupplier(() -> configurationAnnotationPostProcessor);
|
||||
beanDefinition.setInstanceSupplier(() -> configurationAnnotationPostProcessor);
|
||||
registry.registerBeanDefinition(AnnotationConfigUtils.CONFIGURATION_ANNOTATION_PROCESSOR_BEAN_NAME,
|
||||
beanDefinition);
|
||||
CachingMetadataReaderFactoryPostProcessor postProcessor = new CachingMetadataReaderFactoryPostProcessor(
|
||||
|
||||
@@ -39,7 +39,7 @@ class RestDocumentationContextProviderRegistrar implements ImportBeanDefinitionR
|
||||
Map<String, Object> annotationAttributes = importingClassMetadata
|
||||
.getAnnotationAttributes(AutoConfigureRestDocs.class.getName());
|
||||
BeanDefinitionBuilder definitionBuilder = BeanDefinitionBuilder
|
||||
.genericBeanDefinition(ManualRestDocumentation.class);
|
||||
.rootBeanDefinition(ManualRestDocumentation.class);
|
||||
String outputDir = (String) annotationAttributes.get("outputDir");
|
||||
if (StringUtils.hasText(outputDir)) {
|
||||
definitionBuilder.addConstructorArgValue(outputDir);
|
||||
|
||||
@@ -79,7 +79,7 @@ public class BoundConfigurationProperties {
|
||||
static void register(BeanDefinitionRegistry registry) {
|
||||
Assert.notNull(registry, "Registry must not be null");
|
||||
if (!registry.containsBeanDefinition(BEAN_NAME)) {
|
||||
BeanDefinition definition = BeanDefinitionBuilder.genericBeanDefinition(BoundConfigurationProperties.class)
|
||||
BeanDefinition definition = BeanDefinitionBuilder.rootBeanDefinition(BoundConfigurationProperties.class)
|
||||
.getBeanDefinition();
|
||||
definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
|
||||
registry.registerBeanDefinition(BEAN_NAME, definition);
|
||||
|
||||
Reference in New Issue
Block a user