diff --git a/spring-beans/src/main/java/org/springframework/beans/BeanUtilsRuntimeHints.java b/spring-beans/src/main/java/org/springframework/beans/BeanUtilsRuntimeHints.java index f0d18656a8d2..3fc2e306739a 100644 --- a/spring-beans/src/main/java/org/springframework/beans/BeanUtilsRuntimeHints.java +++ b/spring-beans/src/main/java/org/springframework/beans/BeanUtilsRuntimeHints.java @@ -17,8 +17,10 @@ package org.springframework.beans; import org.springframework.aot.hint.MemberCategory; +import org.springframework.aot.hint.ReflectionHints; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; +import org.springframework.core.io.ResourceEditor; import org.springframework.lang.Nullable; /** @@ -32,7 +34,9 @@ class BeanUtilsRuntimeHints implements RuntimeHintsRegistrar { @Override public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) { - hints.reflection().registerTypeIfPresent(classLoader, "org.springframework.http.MediaTypeEditor", + ReflectionHints reflectionHints = hints.reflection(); + reflectionHints.registerType(ResourceEditor.class, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS); + reflectionHints.registerTypeIfPresent(classLoader, "org.springframework.http.MediaTypeEditor", MemberCategory.INVOKE_DECLARED_CONSTRUCTORS); } diff --git a/spring-beans/src/test/java/org/springframework/beans/BeanUtilsRuntimeHintsTests.java b/spring-beans/src/test/java/org/springframework/beans/BeanUtilsRuntimeHintsTests.java index 23f6f56260fd..af3e8da4033b 100644 --- a/spring-beans/src/test/java/org/springframework/beans/BeanUtilsRuntimeHintsTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/BeanUtilsRuntimeHintsTests.java @@ -24,6 +24,7 @@ import org.springframework.aot.hint.RuntimeHintsRegistrar; import org.springframework.aot.hint.TypeReference; import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; +import org.springframework.core.io.ResourceEditor; import org.springframework.core.io.support.SpringFactoriesLoader; import org.springframework.util.ClassUtils; @@ -52,4 +53,10 @@ void mediaTypeEditorHasHints() { .withMemberCategories(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)).accepts(this.hints); } + @Test + void resourceEditorHasHints() { + assertThat(RuntimeHintsPredicates.reflection().onType(ResourceEditor.class) + .withMemberCategories(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)).accepts(this.hints); + } + }