Skip to content

Commit 82e5464

Browse files
committed
Avoid extra "__BeanDefinitions" suffix for inner classes
This commit makes AOT class names for bean definitions shorter. Previously, the "__BeanDefinitions" suffix was applied for all classes, but it was unnecessary for inner classes as the container class already has the qualifier. Closes gh-29846
1 parent 02132bd commit 82e5464

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

Diff for: spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGenerator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ private static GeneratedClass lookupGeneratedClass(GenerationContext generationC
152152
GeneratedClass tmp = generatedClass;
153153
for (String nameToProcess : namesToProcess) {
154154
currentTargetClassName = currentTargetClassName.nestedClass(nameToProcess);
155-
tmp = createInnerClass(tmp, nameToProcess + "__BeanDefinitions", currentTargetClassName);
155+
tmp = createInnerClass(tmp, nameToProcess, currentTargetClassName);
156156
}
157157
return tmp;
158158
}

Diff for: spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorTests.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ void generateBeanDefinitionMethodWhenHasInnerClassTargetMethodGeneratesMethod()
138138
compile(method, (actual, compiled) -> {
139139
SourceFile sourceFile = compiled.getSourceFile(".*BeanDefinitions");
140140
assertThat(sourceFile.getClassName()).endsWith("InnerBeanConfiguration__BeanDefinitions");
141-
assertThat(sourceFile).contains("public static class Simple__BeanDefinitions")
141+
assertThat(sourceFile).contains("public static class Simple")
142142
.contains("Bean definitions for {@link InnerBeanConfiguration.Simple}")
143143
.doesNotContain("Another__BeanDefinitions");
144144

@@ -161,9 +161,9 @@ void generateBeanDefinitionMethodWhenHasNestedInnerClassTargetMethodGeneratesMet
161161
compile(method, (actual, compiled) -> {
162162
SourceFile sourceFile = compiled.getSourceFile(".*BeanDefinitions");
163163
assertThat(sourceFile.getClassName()).endsWith("InnerBeanConfiguration__BeanDefinitions");
164-
assertThat(sourceFile).contains("public static class Simple__BeanDefinitions")
164+
assertThat(sourceFile).contains("public static class Simple")
165165
.contains("Bean definitions for {@link InnerBeanConfiguration.Simple}")
166-
.contains("public static class Another__BeanDefinitions")
166+
.contains("public static class Another")
167167
.contains("Bean definitions for {@link InnerBeanConfiguration.Simple.Another}");
168168
});
169169
}

0 commit comments

Comments
 (0)