Skip to content

Commit 7427304

Browse files
quaffsnicoll
authored andcommitted
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
1 parent f3d86b6 commit 7427304

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ private <T> void registerBeans(String location, String pattern, Class<T> type,
124124
Function<Resource, T> beanSupplier, BeanDefinitionRegistry registry) {
125125
for (Resource resource : getResources(location, pattern)) {
126126
BeanDefinition beanDefinition = BeanDefinitionBuilder
127-
.genericBeanDefinition(type, () -> beanSupplier.apply(resource))
127+
.rootBeanDefinition(type, () -> beanSupplier.apply(resource))
128128
.getBeanDefinition();
129129
registry.registerBeanDefinition(StringUtils.stripFilenameExtension(resource.getFilename()),
130130
beanDefinition);

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/SharedMetadataReaderFactoryContextInitializerTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ void initializeWhenUsingSupplierDecorates() {
7070
BeanDefinitionRegistry registry = (BeanDefinitionRegistry) context.getBeanFactory();
7171
ConfigurationClassPostProcessor configurationAnnotationPostProcessor = mock(
7272
ConfigurationClassPostProcessor.class);
73-
BeanDefinition beanDefinition = BeanDefinitionBuilder
74-
.genericBeanDefinition(ConfigurationClassPostProcessor.class)
73+
AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder
74+
.rootBeanDefinition(ConfigurationClassPostProcessor.class)
7575
.getBeanDefinition();
76-
((AbstractBeanDefinition) beanDefinition).setInstanceSupplier(() -> configurationAnnotationPostProcessor);
76+
beanDefinition.setInstanceSupplier(() -> configurationAnnotationPostProcessor);
7777
registry.registerBeanDefinition(AnnotationConfigUtils.CONFIGURATION_ANNOTATION_PROCESSOR_BEAN_NAME,
7878
beanDefinition);
7979
CachingMetadataReaderFactoryPostProcessor postProcessor = new CachingMetadataReaderFactoryPostProcessor(

spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocumentationContextProviderRegistrar.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, B
3939
Map<String, Object> annotationAttributes = importingClassMetadata
4040
.getAnnotationAttributes(AutoConfigureRestDocs.class.getName());
4141
BeanDefinitionBuilder definitionBuilder = BeanDefinitionBuilder
42-
.genericBeanDefinition(ManualRestDocumentation.class);
42+
.rootBeanDefinition(ManualRestDocumentation.class);
4343
String outputDir = (String) annotationAttributes.get("outputDir");
4444
if (StringUtils.hasText(outputDir)) {
4545
definitionBuilder.addConstructorArgValue(outputDir);

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/BoundConfigurationProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public static BoundConfigurationProperties get(ApplicationContext context) {
7979
static void register(BeanDefinitionRegistry registry) {
8080
Assert.notNull(registry, "Registry must not be null");
8181
if (!registry.containsBeanDefinition(BEAN_NAME)) {
82-
BeanDefinition definition = BeanDefinitionBuilder.genericBeanDefinition(BoundConfigurationProperties.class)
82+
BeanDefinition definition = BeanDefinitionBuilder.rootBeanDefinition(BoundConfigurationProperties.class)
8383
.getBeanDefinition();
8484
definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
8585
registry.registerBeanDefinition(BEAN_NAME, definition);

0 commit comments

Comments
 (0)