diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGenerator.java index f183d2b05e1..91cd2a14b98 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGenerator.java @@ -115,6 +115,8 @@ class BeanDefinitionPropertiesCodeGenerator { CodeBlock.Builder code = CodeBlock.builder(); addStatementForValue(code, beanDefinition, BeanDefinition::isPrimary, "$L.setPrimary($L)"); + addStatementForValue(code, beanDefinition, BeanDefinition::isFallback, + "$L.setFallback($L)"); addStatementForValue(code, beanDefinition, BeanDefinition::getScope, this::hasScope, "$L.setScope($S)"); addStatementForValue(code, beanDefinition, BeanDefinition::getDependsOn, diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGeneratorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGeneratorTests.java index 816a886dd72..7a9f52e0e59 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGeneratorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionPropertiesCodeGeneratorTests.java @@ -92,6 +92,21 @@ class BeanDefinitionPropertiesCodeGeneratorTests { compile((actual, compiled) -> assertThat(actual.isPrimary()).isTrue()); } + @Test + void setFallbackWhenFalse() { + this.beanDefinition.setFallback(false); + compile((actual, compiled) -> { + assertThat(compiled.getSourceFile()).doesNotContain("setFallback"); + assertThat(actual.isFallback()).isFalse(); + }); + } + + @Test + void setFallbackWhenTrue() { + this.beanDefinition.setFallback(true); + compile((actual, compiled) -> assertThat(actual.isFallback()).isTrue()); + } + @Test void setScopeWhenEmptyString() { this.beanDefinition.setScope("");