parent
4184294835
commit
a0061b7fb9
|
|
@ -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;
|
||||||
import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder;
|
import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder;
|
||||||
import org.springframework.beans.factory.generator.config.BeanDefinitionRegistrar;
|
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.AttributeAccessor;
|
||||||
import org.springframework.core.ResolvableType;
|
import org.springframework.core.ResolvableType;
|
||||||
import org.springframework.javapoet.CodeBlock;
|
import org.springframework.javapoet.CodeBlock;
|
||||||
|
|
@ -72,7 +72,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr
|
||||||
|
|
||||||
private final String beanName;
|
private final String beanName;
|
||||||
|
|
||||||
private final BeanDefinition beanDefinition;
|
private final RootBeanDefinition beanDefinition;
|
||||||
|
|
||||||
private final BeanInstantiationGenerator beanInstantiationGenerator;
|
private final BeanInstantiationGenerator beanInstantiationGenerator;
|
||||||
|
|
||||||
|
|
@ -81,7 +81,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr
|
||||||
|
|
||||||
private int nesting = 0;
|
private int nesting = 0;
|
||||||
|
|
||||||
BeanRegistrationBeanFactoryContribution(String beanName, BeanDefinition beanDefinition,
|
BeanRegistrationBeanFactoryContribution(String beanName, RootBeanDefinition beanDefinition,
|
||||||
BeanInstantiationGenerator beanInstantiationGenerator,
|
BeanInstantiationGenerator beanInstantiationGenerator,
|
||||||
@Nullable DefaultBeanRegistrationContributionProvider innerBeanRegistrationContributionProvider) {
|
@Nullable DefaultBeanRegistrationContributionProvider innerBeanRegistrationContributionProvider) {
|
||||||
this.beanName = beanName;
|
this.beanName = beanName;
|
||||||
|
|
@ -90,7 +90,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr
|
||||||
this.innerBeanRegistrationContributionProvider = innerBeanRegistrationContributionProvider;
|
this.innerBeanRegistrationContributionProvider = innerBeanRegistrationContributionProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BeanRegistrationBeanFactoryContribution(String beanName, BeanDefinition beanDefinition,
|
public BeanRegistrationBeanFactoryContribution(String beanName, RootBeanDefinition beanDefinition,
|
||||||
BeanInstantiationGenerator beanInstantiationGenerator) {
|
BeanInstantiationGenerator beanInstantiationGenerator) {
|
||||||
this(beanName, beanDefinition, beanInstantiationGenerator, null);
|
this(beanName, beanDefinition, beanInstantiationGenerator, null);
|
||||||
}
|
}
|
||||||
|
|
@ -99,7 +99,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr
|
||||||
return this.beanName;
|
return this.beanName;
|
||||||
}
|
}
|
||||||
|
|
||||||
BeanDefinition getBeanDefinition() {
|
RootBeanDefinition getBeanDefinition() {
|
||||||
return this.beanDefinition;
|
return this.beanDefinition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -295,7 +295,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr
|
||||||
|
|
||||||
private final BeanParameterGenerator parameterGenerator;
|
private final BeanParameterGenerator parameterGenerator;
|
||||||
|
|
||||||
private final BeanDefinition beanDefinition;
|
private final RootBeanDefinition beanDefinition;
|
||||||
|
|
||||||
Generator(BeanParameterGenerator parameterGenerator) {
|
Generator(BeanParameterGenerator parameterGenerator) {
|
||||||
this.parameterGenerator = parameterGenerator;
|
this.parameterGenerator = parameterGenerator;
|
||||||
|
|
@ -375,8 +375,7 @@ public class BeanRegistrationBeanFactoryContribution implements BeanFactoryContr
|
||||||
if (!this.beanDefinition.isAutowireCandidate()) {
|
if (!this.beanDefinition.isAutowireCandidate()) {
|
||||||
statements.addStatement("$L.setAutowireCandidate(false)", bdVariable);
|
statements.addStatement("$L.setAutowireCandidate(false)", bdVariable);
|
||||||
}
|
}
|
||||||
if (this.beanDefinition instanceof AbstractBeanDefinition
|
if (this.beanDefinition.isSynthetic()) {
|
||||||
&& ((AbstractBeanDefinition) this.beanDefinition).isSynthetic()) {
|
|
||||||
statements.addStatement("$L.setSynthetic(true)", bdVariable);
|
statements.addStatement("$L.setSynthetic(true)", bdVariable);
|
||||||
}
|
}
|
||||||
if (this.beanDefinition.getRole() != BeanDefinition.ROLE_APPLICATION) {
|
if (this.beanDefinition.getRole() != BeanDefinition.ROLE_APPLICATION) {
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@
|
||||||
|
|
||||||
package org.springframework.beans.factory.generator;
|
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.generator.config.BeanDefinitionRegistrar;
|
||||||
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
import org.springframework.javapoet.CodeBlock;
|
import org.springframework.javapoet.CodeBlock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -28,7 +28,7 @@ import org.springframework.javapoet.CodeBlock;
|
||||||
*/
|
*/
|
||||||
class InnerBeanRegistrationBeanFactoryContribution extends BeanRegistrationBeanFactoryContribution {
|
class InnerBeanRegistrationBeanFactoryContribution extends BeanRegistrationBeanFactoryContribution {
|
||||||
|
|
||||||
InnerBeanRegistrationBeanFactoryContribution(String beanName, BeanDefinition beanDefinition,
|
InnerBeanRegistrationBeanFactoryContribution(String beanName, RootBeanDefinition beanDefinition,
|
||||||
BeanInstantiationGenerator beanInstantiationGenerator,
|
BeanInstantiationGenerator beanInstantiationGenerator,
|
||||||
DefaultBeanRegistrationContributionProvider innerBeanRegistrationContributionProvider) {
|
DefaultBeanRegistrationContributionProvider innerBeanRegistrationContributionProvider) {
|
||||||
super(beanName, beanDefinition, beanInstantiationGenerator, innerBeanRegistrationContributionProvider);
|
super(beanName, beanDefinition, beanInstantiationGenerator, innerBeanRegistrationContributionProvider);
|
||||||
|
|
|
||||||
|
|
@ -537,12 +537,13 @@ class BeanRegistrationBeanFactoryContributionTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
private BeanFactoryContribution getContribution(BeanDefinition beanDefinition, Executable instanceCreator) {
|
private BeanFactoryContribution getContribution(BeanDefinition beanDefinition, Executable instanceCreator) {
|
||||||
return new BeanRegistrationBeanFactoryContribution("test", beanDefinition,
|
return new BeanRegistrationBeanFactoryContribution("test", (RootBeanDefinition) beanDefinition,
|
||||||
new DefaultBeanInstantiationGenerator(instanceCreator, Collections.emptyList()));
|
new DefaultBeanInstantiationGenerator(instanceCreator, Collections.emptyList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private CodeSnippet beanRegistration(BeanDefinition beanDefinition, Executable instanceCreator, Consumer<Builder> instanceSupplier) {
|
private CodeSnippet beanRegistration(BeanDefinition beanDefinition, Executable instanceCreator, Consumer<Builder> instanceSupplier) {
|
||||||
BeanRegistrationBeanFactoryContribution generator = new BeanRegistrationBeanFactoryContribution("test", beanDefinition,
|
BeanRegistrationBeanFactoryContribution generator = new BeanRegistrationBeanFactoryContribution(
|
||||||
|
"test", (RootBeanDefinition) beanDefinition,
|
||||||
new DefaultBeanInstantiationGenerator(instanceCreator, Collections.emptyList()));
|
new DefaultBeanInstantiationGenerator(instanceCreator, Collections.emptyList()));
|
||||||
return CodeSnippet.of(generator.generateBeanRegistration(new RuntimeHints(),
|
return CodeSnippet.of(generator.generateBeanRegistration(new RuntimeHints(),
|
||||||
toMultiStatements(instanceSupplier)));
|
toMultiStatements(instanceSupplier)));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue