diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java index 75e69f962e6..20597bbdba4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java @@ -326,19 +326,15 @@ public class JacksonAutoConfiguration { private void configureConstructorDetector(Jackson2ObjectMapperBuilder builder) { ConstructorDetectorStrategy strategy = this.jacksonProperties.getConstructorDetector(); - if (strategy != null) { - builder.postConfigurer((objectMapper) -> { - switch (strategy) { - case USE_PROPERTIES_BASED -> - objectMapper.setConstructorDetector(ConstructorDetector.USE_PROPERTIES_BASED); - case USE_DELEGATING -> - objectMapper.setConstructorDetector(ConstructorDetector.USE_DELEGATING); - case EXPLICIT_ONLY -> - objectMapper.setConstructorDetector(ConstructorDetector.EXPLICIT_ONLY); - default -> objectMapper.setConstructorDetector(ConstructorDetector.DEFAULT); - } - }); - } + builder.postConfigurer((objectMapper) -> { + switch (strategy) { + case USE_PROPERTIES_BASED -> + objectMapper.setConstructorDetector(ConstructorDetector.USE_PROPERTIES_BASED); + case USE_DELEGATING -> objectMapper.setConstructorDetector(ConstructorDetector.USE_DELEGATING); + case EXPLICIT_ONLY -> objectMapper.setConstructorDetector(ConstructorDetector.EXPLICIT_ONLY); + default -> objectMapper.setConstructorDetector(ConstructorDetector.DEFAULT); + } + }); } } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java index 780f818928a..d57e901dc76 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java @@ -104,7 +104,7 @@ public class JacksonProperties { * Strategy to use to auto-detect constructor, and in particular behavior with * single-argument constructors. */ - private ConstructorDetectorStrategy constructorDetector; + private ConstructorDetectorStrategy constructorDetector = ConstructorDetectorStrategy.DEFAULT; /** * Time zone used when formatting dates. For instance, "America/Los_Angeles" or diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index ba1912b889f..545a5c2f8c4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -1854,10 +1854,6 @@ "name": "spring.info.git.location", "defaultValue": "classpath:git.properties" }, - { - "name": "spring.jackson.constructor-detector", - "defaultValue": "default" - }, { "name": "spring.jackson.datatype.enum", "description": "Jackson on/off features for enums."