From 57dc274284a3774c9c2735f2e19be013d2270a2f Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 20 Jul 2022 13:25:52 +0200 Subject: [PATCH] Switch to Spring Framework SNAPSHOTs Switch to Spring Framework SNAPSHOTs and adapt to updated APIs. See gh-31834 --- .../ChildManagementContextInitializer.java | 18 +++++++------- .../spring-boot-dependencies/build.gradle | 2 +- ...ropertiesBeanRegistrationAotProcessor.java | 24 +++++++++---------- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ChildManagementContextInitializer.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ChildManagementContextInitializer.java index bb98fa9630..bbac28808c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ChildManagementContextInitializer.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ChildManagementContextInitializer.java @@ -165,16 +165,14 @@ class ChildManagementContextInitializer implements ApplicationListener { - builder.addJavadoc("Use AOT management context initialization"); - builder.addModifiers(Modifier.PRIVATE, Modifier.STATIC); - builder.addParameter(RegisteredBean.class, "registeredBean"); - builder.addParameter(ChildManagementContextInitializer.class, "instance"); - builder.returns(ChildManagementContextInitializer.class); - builder.addStatement("return instance.withApplicationContextInitializer(new $L())", - generatedInitializerClassName); - }); + GeneratedMethod postProcessorMethod = beanRegistrationCode.getMethods().add("addManagementInitializer", + (method) -> method.addJavadoc("Use AOT management context initialization") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC) + .addParameter(RegisteredBean.class, "registeredBean") + .addParameter(ChildManagementContextInitializer.class, "instance") + .returns(ChildManagementContextInitializer.class) + .addStatement("return instance.withApplicationContextInitializer(new $L())", + generatedInitializerClassName)); beanRegistrationCode.addInstancePostProcessor( MethodReference.ofStatic(beanRegistrationCode.getClassName(), postProcessorMethod.getName())); } diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 76f11dce46..3eb9e2d16d 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1414,7 +1414,7 @@ bom { ] } } - library("Spring Framework", "6.0.0-M5") { + library("Spring Framework", "6.0.0-SNAPSHOT") { group("org.springframework") { imports = [ "spring-framework-bom" diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessor.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessor.java index 00c66cfc8e..713c19e04c 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessor.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessor.java @@ -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()); } }