Skip to content

Commit e7c8880

Browse files
committed
Register beans as RootBeanDefinition instead of GenericBeanDefinition if feasible
Spring Framework recommend to use RootBeanDefinition if it's pre-determined as root bean.
1 parent e36e267 commit e7c8880

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)