创建的ObjectMapper
(或用于Jackson XML转换的XmlMapper
)实例默认有以下自定义属性:
Spring Boot也有一些用于简化自定义该行为的特性。
例如,设置spring.jackson.serialization.indent_output=true
可以美化打印输出(pretty print)。注意,由于的使用,indent_output
不必匹配对应的枚举常量INDENT_OUTPUT
。
基于environment的配置会应用到自动配置的Jackson2ObjectMapperBuilder
bean,然后应用到通过该builder创建的mappers,包括自动配置的ObjectMapper
bean。
所有类型为的beans都会自动注册到自动配置的Jackson2ObjectMapperBuilder
,并应用到它创建的任何ObjectMapper
实例。这提供了一种全局机制,用于在为应用添加新特性时贡献自定义模块。
如果想完全替换默认的ObjectMapper
,你既可以定义该类型的@Bean
并注解,也可以定义
Jackson2ObjectMapperBuilder
@Bean
,通过builder构建。注意不管哪种方式都会禁用所有的自动配置ObjectMapper
。