From d59b2924d3cabbec66b28c6438961b06cba4892b Mon Sep 17 00:00:00 2001 From: rstoyanchev Date: Fri, 1 Dec 2023 10:49:26 +0000 Subject: [PATCH] Exclude any Java library type from nested constructor binding Closes gh-31709 --- .../main/java/org/springframework/validation/DataBinder.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-context/src/main/java/org/springframework/validation/DataBinder.java b/spring-context/src/main/java/org/springframework/validation/DataBinder.java index 9c70ada6c5..1c0b4733b1 100644 --- a/spring-context/src/main/java/org/springframework/validation/DataBinder.java +++ b/spring-context/src/main/java/org/springframework/validation/DataBinder.java @@ -1018,7 +1018,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter { protected boolean shouldConstructArgument(MethodParameter param) { Class type = param.nestedIfOptional().getNestedParameterType(); return !(BeanUtils.isSimpleValueType(type) || - Collection.class.isAssignableFrom(type) || Map.class.isAssignableFrom(type) || type.isArray()); + Collection.class.isAssignableFrom(type) || Map.class.isAssignableFrom(type) || type.isArray() || + type.getPackageName().startsWith("java.")); } private void validateConstructorArgument(