From 20a8416c2e94efba3e6fa72de1b3d3618d063529 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 1 Oct 2014 02:29:46 +0200 Subject: [PATCH] Jackson2ObjectMapperBuilder allows for regular constructor usage as well Issue: SPR-12243 --- .../json/Jackson2ObjectMapperBuilder.java | 44 +++++++++---------- .../json/Jackson2ObjectMapperFactoryBean.java | 4 +- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java index 2953685905..283215fb5a 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java @@ -56,7 +56,7 @@ import org.springframework.util.ClassUtils; *

Note that Jackson's JSR-310 and Joda-Time support modules will be registered automatically * when available (and when Java 8 and Joda-Time themselves are available, respectively). * - *

Tested against Jackson 2.2 and 2.3; compatible with Jackson 2.0 and higher. + *

Tested against Jackson 2.2, 2.3 and 2.4; compatible with Jackson 2.0 and higher. * * @author Sebastien Deleuze * @author Juergen Hoeller @@ -92,28 +92,6 @@ public class Jackson2ObjectMapperBuilder { private ClassLoader moduleClassLoader = getClass().getClassLoader(); - private Jackson2ObjectMapperBuilder() { - } - - - /** - * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to - * build an {@link ObjectMapper} instance. - */ - public static Jackson2ObjectMapperBuilder json() { - return new Jackson2ObjectMapperBuilder(); - } - - /** - * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to - * build a {@link XmlMapper} instance. - */ - @SuppressWarnings("unchecked") - public static Jackson2ObjectMapperBuilder xml() { - return new Jackson2ObjectMapperBuilder().createXmlMapper(true); - } - - /** * If set to {@code true}, an {@link XmlMapper} will be created using its * default constructor. This is only applicable to {@link #build()} calls, @@ -499,4 +477,24 @@ public class Jackson2ObjectMapperBuilder { } } + + // Convenience factory methods + + /** + * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to + * build a regular JSON {@link ObjectMapper} instance. + */ + public static Jackson2ObjectMapperBuilder json() { + return new Jackson2ObjectMapperBuilder(); + } + + /** + * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to + * build an {@link XmlMapper} instance. + */ + @SuppressWarnings("unchecked") + public static Jackson2ObjectMapperBuilder xml() { + return new Jackson2ObjectMapperBuilder().createXmlMapper(true); + } + } diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java index ead85705d7..7b86daddd3 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java @@ -112,7 +112,7 @@ import org.springframework.beans.factory.InitializingBean; * Note that Jackson's JSR-310 and Joda-Time support modules will be registered automatically * when available (and when Java 8 and Joda-Time themselves are available, respectively). * - *

Tested against Jackson 2.2 and 2.3; compatible with Jackson 2.0 and higher. + *

Tested against Jackson 2.2, 2.3 and 2.4; compatible with Jackson 2.0 and higher. * * @author Dmitry Katsubo * @author Rossen Stoyanchev @@ -122,7 +122,7 @@ import org.springframework.beans.factory.InitializingBean; */ public class Jackson2ObjectMapperFactoryBean implements FactoryBean, BeanClassLoaderAware, InitializingBean { - private final Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.json(); + private final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); private ObjectMapper objectMapper; -- GitLab