目錄
1. 添加必要依賴
2. 配置全局序列化方案(推薦)
3. 配置RabbitMQ消息轉換器
關鍵點說明
1. 添加必要依賴
首先確保項目中包含JSR-310支持模塊:
<dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jsr310</artifactId><version>2.12.5</version> <!-- 版本需與項目中的Jackson版本匹配 -->
</dependency>
2. 配置全局序列化方案(推薦)
創建Jackson配置類統一處理時間類型:
@Configuration
public class JacksonConfig {@Beanpublic Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {return builder -> {// 設置全局日期格式builder.simpleDateFormat("yyyy-MM-dd HH:mm:ss");// 注冊Java8時間模塊builder.modules(new JavaTimeModule());// 禁用時間戳格式builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);};}
}
3. 配置RabbitMQ消息轉換器
在RabbitMQ配置中指定使用Jackson2JsonMessageConverter:
@Bean
public MessageConverter jsonMessageConverter() {ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);return new Jackson2JsonMessageConverter(objectMapper);
}
關鍵點說明
- ?版本兼容性?:確保
jackson-datatype-jsr310
版本與其他Jackson組件版本一致 - ?時間格式?:禁用時間戳格式(
WRITE_DATES_AS_TIMESTAMPS
)可避免輸出數字時間戳 - ?微服務場景?:該方案同樣適用于其他Spring組件如RestTemplate/Feign的序列化