diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContribution.java b/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContribution.java index 29f9057a420..fe47a2521c1 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContribution.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContribution.java @@ -46,7 +46,7 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.factory.config.ConstructorArgumentValues; import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder; import org.springframework.beans.factory.generator.config.BeanDefinitionRegistrar; -import org.springframework.beans.factory.support.AbstractBeanDefinition; +import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.core.AttributeAccessor; import org.springframework.core.ResolvableType; import org.springframework.javapoet.CodeBlock; @@ -72,7 +72,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr private final String beanName; - private final BeanDefinition beanDefinition; + private final RootBeanDefinition beanDefinition; private final BeanInstantiationGenerator beanInstantiationGenerator; @@ -81,7 +81,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr private int nesting = 0; - BeanRegistrationBeanFactoryContribution(String beanName, BeanDefinition beanDefinition, + BeanRegistrationBeanFactoryContribution(String beanName, RootBeanDefinition beanDefinition, BeanInstantiationGenerator beanInstantiationGenerator, @Nullable DefaultBeanRegistrationContributionProvider innerBeanRegistrationContributionProvider) { this.beanName = beanName; @@ -90,7 +90,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr this.innerBeanRegistrationContributionProvider = innerBeanRegistrationContributionProvider; } - public BeanRegistrationBeanFactoryContribution(String beanName, BeanDefinition beanDefinition, + public BeanRegistrationBeanFactoryContribution(String beanName, RootBeanDefinition beanDefinition, BeanInstantiationGenerator beanInstantiationGenerator) { this(beanName, beanDefinition, beanInstantiationGenerator, null); } @@ -99,7 +99,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr return this.beanName; } - BeanDefinition getBeanDefinition() { + RootBeanDefinition getBeanDefinition() { return this.beanDefinition; } @@ -295,7 +295,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr private final BeanParameterGenerator parameterGenerator; - private final BeanDefinition beanDefinition; + private final RootBeanDefinition beanDefinition; Generator(BeanParameterGenerator parameterGenerator) { this.parameterGenerator = parameterGenerator; @@ -375,8 +375,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr if (!this.beanDefinition.isAutowireCandidate()) { statements.addStatement("$L.setAutowireCandidate(false)", bdVariable); } - if (this.beanDefinition instanceof AbstractBeanDefinition - && ((AbstractBeanDefinition) this.beanDefinition).isSynthetic()) { + if (this.beanDefinition.isSynthetic()) { statements.addStatement("$L.setSynthetic(true)", bdVariable); } if (this.beanDefinition.getRole() != BeanDefinition.ROLE_APPLICATION) { diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/generator/InnerBeanRegistrationBeanFactoryContribution.java b/spring-beans/src/main/java/org/springframework/beans/factory/generator/InnerBeanRegistrationBeanFactoryContribution.java index 436135cfd7b..e4ecb7380e9 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/generator/InnerBeanRegistrationBeanFactoryContribution.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/generator/InnerBeanRegistrationBeanFactoryContribution.java @@ -16,8 +16,8 @@ package org.springframework.beans.factory.generator; -import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.generator.config.BeanDefinitionRegistrar; +import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.javapoet.CodeBlock; /** @@ -28,7 +28,7 @@ import org.springframework.javapoet.CodeBlock; */ class InnerBeanRegistrationBeanFactoryContribution extends BeanRegistrationBeanFactoryContribution { - InnerBeanRegistrationBeanFactoryContribution(String beanName, BeanDefinition beanDefinition, + InnerBeanRegistrationBeanFactoryContribution(String beanName, RootBeanDefinition beanDefinition, BeanInstantiationGenerator beanInstantiationGenerator, DefaultBeanRegistrationContributionProvider innerBeanRegistrationContributionProvider) { super(beanName, beanDefinition, beanInstantiationGenerator, innerBeanRegistrationContributionProvider); diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContributionTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContributionTests.java index 1dbb4685fcb..064973afb01 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContributionTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/generator/BeanRegistrationBeanFactoryContributionTests.java @@ -537,12 +537,13 @@ class BeanRegistrationBeanFactoryContributionTests { } private BeanFactoryContribution getContribution(BeanDefinition beanDefinition, Executable instanceCreator) { - return new BeanRegistrationBeanFactoryContribution("test", beanDefinition, + return new BeanRegistrationBeanFactoryContribution("test", (RootBeanDefinition) beanDefinition, new DefaultBeanInstantiationGenerator(instanceCreator, Collections.emptyList())); } private CodeSnippet beanRegistration(BeanDefinition beanDefinition, Executable instanceCreator, Consumer instanceSupplier) { - BeanRegistrationBeanFactoryContribution generator = new BeanRegistrationBeanFactoryContribution("test", beanDefinition, + BeanRegistrationBeanFactoryContribution generator = new BeanRegistrationBeanFactoryContribution( + "test", (RootBeanDefinition) beanDefinition, new DefaultBeanInstantiationGenerator(instanceCreator, Collections.emptyList())); return CodeSnippet.of(generator.generateBeanRegistration(new RuntimeHints(), toMultiStatements(instanceSupplier)));