public class Jackson2ObjectMapperFactoryBean extends Object implements org.springframework.beans.factory.FactoryBean<ObjectMapper>, org.springframework.beans.factory.InitializingBean
FactoryBean for creating a Jackson 2.x ObjectMapper with setters
to enable or disable Jackson features from within XML configuration.
Example usage with
MappingJackson2HttpMessageConverter:
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
p:autoDetectFields="false"
p:autoDetectGettersSetters="false"
p:annotationIntrospector-ref="jaxbAnnotationIntrospector" />
</property>
</bean>
Example usage with MappingJackson2JsonView:
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
p:failOnEmptyBeans="false"
p:indentOutput="true">
<property name="serializers">
<array>
<bean class="org.mycompany.MyCustomSerializer" />
</array>
</property>
</bean>
</property>
</bean>
In case there are no specific setters provided (for some rarely used options),
you can still use the more general methods setFeaturesToEnable(java.lang.Object...) and
setFeaturesToDisable(java.lang.Object...).
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="featuresToEnable">
<array>
<util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature$WRAP_ROOT_VALUE"/>
<util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature$CLOSE_CLOSEABLE"/>
</array>
</property>
<property name="featuresToDisable">
<array>
<util:constant static-field="com.fasterxml.jackson.databind.MapperFeature$USE_ANNOTATIONS"/>
</array>
</property>
</bean>
| Constructor and Description |
|---|
Jackson2ObjectMapperFactoryBean() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
ObjectMapper |
getObject()
Return the singleton ObjectMapper.
|
Class<?> |
getObjectType() |
boolean |
isSingleton() |
void |
setAnnotationIntrospector(AnnotationIntrospector annotationIntrospector)
Set an
AnnotationIntrospector for both serialization and deserialization. |
void |
setAutoDetectFields(boolean autoDetectFields)
Shortcut for
MapperFeature.AUTO_DETECT_FIELDS option. |
void |
setAutoDetectGettersSetters(boolean autoDetectGettersSetters)
Shortcut for
MapperFeature.AUTO_DETECT_SETTERS/
MapperFeature.AUTO_DETECT_GETTERS option. |
void |
setDateFormat(DateFormat dateFormat)
Define the format for date/time with the given
DateFormat. |
void |
setDeserializersByType(Map<Class<?>,JsonDeserializer<?>> deserializers)
Configure custom deserializers for the given types.
|
void |
setFailOnEmptyBeans(boolean failOnEmptyBeans)
Shortcut for
SerializationFeature.FAIL_ON_EMPTY_BEANS option. |
void |
setFeaturesToDisable(Object... featuresToDisable)
Specify features to disable.
|
void |
setFeaturesToEnable(Object... featuresToEnable)
Specify features to enable.
|
void |
setIndentOutput(boolean indentOutput)
Shortcut for
SerializationFeature.INDENT_OUTPUT option. |
void |
setObjectMapper(ObjectMapper objectMapper)
Set the ObjectMapper instance to use.
|
void |
setSerializers(JsonSerializer<?>... serializers)
Configure custom serializers.
|
void |
setSerializersByType(Map<Class<?>,JsonSerializer<?>> serializers)
Configure custom serializers for the given types.
|
void |
setSimpleDateFormat(String format)
Define the date/time format with a
SimpleDateFormat. |
public void setObjectMapper(ObjectMapper objectMapper)
public void setDateFormat(DateFormat dateFormat)
DateFormat.
Note: Setting this property makes the exposed ObjectMapper
non-thread-safe, according to Jackson's thread safety rules.
setSimpleDateFormat(String)public void setSimpleDateFormat(String format)
SimpleDateFormat.
Note: Setting this property makes the exposed ObjectMapper
non-thread-safe, according to Jackson's thread safety rules.
setDateFormat(DateFormat)public void setAnnotationIntrospector(AnnotationIntrospector annotationIntrospector)
AnnotationIntrospector for both serialization and deserialization.public void setSerializers(JsonSerializer<?>... serializers)
JsonSerializer.handledType(), which must not be
null.setSerializersByType(Map)public void setSerializersByType(Map<Class<?>,JsonSerializer<?>> serializers)
setSerializers(JsonSerializer...)public void setDeserializersByType(Map<Class<?>,JsonDeserializer<?>> deserializers)
public void setAutoDetectFields(boolean autoDetectFields)
MapperFeature.AUTO_DETECT_FIELDS option.public void setAutoDetectGettersSetters(boolean autoDetectGettersSetters)
MapperFeature.AUTO_DETECT_SETTERS/
MapperFeature.AUTO_DETECT_GETTERS option.public void setFailOnEmptyBeans(boolean failOnEmptyBeans)
SerializationFeature.FAIL_ON_EMPTY_BEANS option.public void setIndentOutput(boolean indentOutput)
SerializationFeature.INDENT_OUTPUT option.public void setFeaturesToEnable(Object... featuresToEnable)
public void setFeaturesToDisable(Object... featuresToDisable)
public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanpublic ObjectMapper getObject()
getObject in interface org.springframework.beans.factory.FactoryBean<ObjectMapper>public Class<?> getObjectType()
getObjectType in interface org.springframework.beans.factory.FactoryBean<ObjectMapper>public boolean isSingleton()
isSingleton in interface org.springframework.beans.factory.FactoryBean<ObjectMapper>