Spring Boot 自动配置之 Jackson ObjectMapper
Spring Boot 通过自动配置简化了 Jackson ObjectMapper 的集成与定制。ObjectMapper 是 Jackson 库的核心组件,用于 JSON 序列化与反序列化。以下从自动配置原理、默认行为、定制方法及代码示例展开说明。
自动配置原理
Spring Boot 通过 JacksonAutoConfiguration 类实现 ObjectMapper 的自动配置。该配置类在检测到 ObjectMapper 类存在于类路径时生效。关键依赖如下:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
JacksonAutoConfiguration 注册了一个 ObjectMapper Bean,并应用了以下默认行为:
- 启用
INDENT_OUTPUT美化输出(仅在开发环境)。 - 禁用
FAIL_ON_EMPTY_BEANS。 - 使用 Java 8 时间模块(如
jackson-datatype-jsr310存在时)。
默认行为验证
通过以下代码可验证默认配置:
@RestController
public class DemoController {
@GetMapping("/test")
public Map<String, Object> test() {
Map<String, Object> data = new HashMap<>();
data.put("timestamp", LocalDateTime.now());
return data;
}
}
访问 /test 将返回类似以下结果(开发环境):
{
"timestamp": "2023-10-05T12:00:00"
}
1994

被折叠的 条评论
为什么被折叠?



