Switch to Spring Framework SNAPSHOTs

Switch to Spring Framework SNAPSHOTs and adapt to updated APIs.

See gh-31834
This commit is contained in:
Olga Maciaszek-Sharma
2022-07-20 13:25:52 +02:00
committed by Phillip Webb
parent 8f660b32c9
commit 57dc274284
3 changed files with 20 additions and 24 deletions

View File

@@ -73,21 +73,19 @@ class ConfigurationPropertiesBeanRegistrationAotProcessor implements BeanRegistr
public CodeBlock generateInstanceSupplierCode(GenerationContext generationContext,
BeanRegistrationCode beanRegistrationCode, Executable constructorOrFactoryMethod,
boolean allowDirectSupplierShortcut) {
GeneratedMethod method = beanRegistrationCode.getMethodGenerator().generateMethod("get", "instance")
.using((builder) -> {
Class<?> beanClass = this.registeredBean.getBeanClass();
builder.addJavadoc("Get the bean instance for '$L'.", this.registeredBean.getBeanName());
builder.addModifiers(Modifier.PRIVATE, Modifier.STATIC);
builder.returns(beanClass);
builder.addParameter(RegisteredBean.class, REGISTERED_BEAN_PARAMETER_NAME);
builder.addStatement("$T beanFactory = registeredBean.getBeanFactory()", BeanFactory.class);
builder.addStatement("$T beanName = registeredBean.getBeanName()", String.class);
builder.addStatement("$T<?> beanClass = registeredBean.getBeanClass()", Class.class);
builder.addStatement("return ($T) $T.from(beanFactory, beanName, beanClass)", beanClass,
GeneratedMethod generatedMethod = beanRegistrationCode.getMethods().add("getInstance", (method) -> {
Class<?> beanClass = this.registeredBean.getBeanClass();
method.addJavadoc("Get the bean instance for '$L'.", this.registeredBean.getBeanName())
.addModifiers(Modifier.PRIVATE, Modifier.STATIC).returns(beanClass)
.addParameter(RegisteredBean.class, REGISTERED_BEAN_PARAMETER_NAME)
.addStatement("$T beanFactory = registeredBean.getBeanFactory()", BeanFactory.class)
.addStatement("$T beanName = registeredBean.getBeanName()", String.class)
.addStatement("$T<?> beanClass = registeredBean.getBeanClass()", Class.class)
.addStatement("return ($T) $T.from(beanFactory, beanName, beanClass)", beanClass,
ConstructorBound.class);
});
});
return CodeBlock.of("$T.of($T::$L)", InstanceSupplier.class, beanRegistrationCode.getClassName(),
method.getName());
generatedMethod.getName());
}
}