diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContribution.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContribution.java index d93e9507d68..0cc914fc599 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContribution.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContribution.java @@ -117,10 +117,10 @@ class BeanRegistrationsAotContribution registrations.keySet().forEach(beanRegistrationKey -> { ReflectionHints hints = runtimeHints.reflection(); Class beanClass = beanRegistrationKey.beanClass(); - hints.registerType(beanClass, MemberCategory.INTROSPECT_DECLARED_METHODS); + hints.registerType(beanClass, MemberCategory.INTROSPECT_PUBLIC_METHODS, MemberCategory.INTROSPECT_DECLARED_METHODS); // Workaround for https://github.com/oracle/graal/issues/6510 if (beanClass.isRecord()) { - hints.registerType(beanClass, MemberCategory.INVOKE_DECLARED_METHODS); + hints.registerType(beanClass, MemberCategory.INVOKE_PUBLIC_METHODS, MemberCategory.INVOKE_DECLARED_METHODS); } // Workaround for https://github.com/oracle/graal/issues/6529 ReflectionUtils.doWithMethods(beanClass, method -> { diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContributionTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContributionTests.java index 833611e825d..f5869000218 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContributionTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanRegistrationsAotContributionTests.java @@ -147,7 +147,7 @@ class BeanRegistrationsAotContributionTests { BeanRegistrationsAotContribution contribution = createContribution(TestBean.class, generator); contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode); assertThat(reflection().onType(TestBean.class) - .withMemberCategory(MemberCategory.INTROSPECT_DECLARED_METHODS)) + .withMemberCategories(MemberCategory.INTROSPECT_PUBLIC_METHODS, MemberCategory.INTROSPECT_DECLARED_METHODS)) .accepts(this.generationContext.getRuntimeHints()); } @@ -159,7 +159,8 @@ class BeanRegistrationsAotContributionTests { BeanRegistrationsAotContribution contribution = createContribution(RecordBean.class, generator); contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode); assertThat(reflection().onType(RecordBean.class) - .withMemberCategories(MemberCategory.INTROSPECT_DECLARED_METHODS, MemberCategory.INVOKE_DECLARED_METHODS)) + .withMemberCategories(MemberCategory.INTROSPECT_PUBLIC_METHODS, MemberCategory.INTROSPECT_DECLARED_METHODS, + MemberCategory.INVOKE_PUBLIC_METHODS, MemberCategory.INVOKE_DECLARED_METHODS)) .accepts(this.generationContext.getRuntimeHints()); }