日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring boot添加 LocalDateTime 等 java8 时间类序列化和反序列化的支持

發布時間:2024/4/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring boot添加 LocalDateTime 等 java8 时间类序列化和反序列化的支持 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于項目將原有的??Date類型的字段改造為?LocalDate,LocalDateTime,LocalTime?類型, 發現 ?spring??對項目的時間格式無法自動轉換,故需手動配置下。

在spring boot? 中需在 ?maven?中引入??jsr-310? 的支持

<dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jsr310</artifactId></dependency>

或者直接引用

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-json</artifactId> </dependency>

因為??spring boot? 是使用 ?jackson?作為 ?json?序列化和反序列化工具的,故只需配置 ?jackson?即可。

/*** 發布時間*/@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime updateDate;/*** 創建時間*/@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createDate;

全局配置

配置如下:

@Configuration public class JacksonConfig {@Beanpublic ObjectMapper objectMapper(){ObjectMapper objectMapper = new ObjectMapper();objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);objectMapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);JavaTimeModule javaTimeModule = new JavaTimeModule();javaTimeModule.addSerializer(LocalDateTime.class,new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_TIME_FORMAT)));javaTimeModule.addSerializer(LocalDate.class,new LocalDateSerializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_FORMAT)));javaTimeModule.addSerializer(LocalTime.class,new LocalTimeSerializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_TIME_FORMAT)));javaTimeModule.addDeserializer(LocalDateTime.class,new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_TIME_FORMAT)));javaTimeModule.addDeserializer(LocalDate.class,new LocalDateDeserializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_FORMAT)));javaTimeModule.addDeserializer(LocalTime.class,new LocalTimeDeserializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_TIME_FORMAT)));objectMapper.registerModule(javaTimeModule).registerModule(new ParameterNamesModule());return objectMapper;}} public class Constants {/** 默認日期時間格式 */public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";/** 默認日期格式 */public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";/** 默認時間格式 */public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss";}

然后只需要在實體類中對應的時間類型上使用??@DateTimeFormat? 和??@JsonFormat? 即可。

單個ObjectMapper

jsonStr = new String(msg);ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);objectMapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);JavaTimeModule javaTimeModule = new JavaTimeModule();javaTimeModule.addSerializer(LocalDateTime.class,new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_TIME_FORMAT)));javaTimeModule.addSerializer(LocalDate.class,new LocalDateSerializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_FORMAT)));javaTimeModule.addSerializer(LocalTime.class,new LocalTimeSerializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_TIME_FORMAT)));javaTimeModule.addDeserializer(LocalDateTime.class,new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_TIME_FORMAT)));javaTimeModule.addDeserializer(LocalDate.class,new LocalDateDeserializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_DATE_FORMAT)));javaTimeModule.addDeserializer(LocalTime.class,new LocalTimeDeserializer(DateTimeFormatter.ofPattern(Constants.DEFAULT_TIME_FORMAT)));objectMapper.registerModule(javaTimeModule).registerModule(new ParameterNamesModule());ComponentPublishedMessage message = objectMapper.readValue(jsonStr, ComponentPublishedMessage.class);

配置在屬性上

@DateTimeFormat(pattern = "yyyy-MM-dd\'T\'HH:mm:ss.SSS")@JsonDeserialize(using = LocalDateTimeDeserializer.class)@JsonSerialize(using = LocalDateTimeSerializer.class)@JsonFormat(pattern = "yyyy-MM-dd\'T\'HH:mm:ss.SSS")private LocalDateTime createDate;

?

?

總結

以上是生活随笔為你收集整理的spring boot添加 LocalDateTime 等 java8 时间类序列化和反序列化的支持的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲AV无码成人精品一区 | av噜噜噜| 亚洲精品视频在线观看免费视频 | 四虎影院国产精品 | 日韩久久久久久久 | 波多野结衣电影免费观看 | 厕拍极品 | 日日爽夜夜爽 | 日韩午夜在线视频 | av片免费 | 国产中文字幕免费 | 涩涩视频网站 | 青青久久国产 | 毛片2 | 亚洲色偷精品一区二区三区 | 国产日韩欧美在线 | 中文字幕在线观看av | 欧美精品一区二区三区四区 | 干欧美少妇 | 国产毛片av | 国产a网站 | 亚洲人妻一区二区 | 香蕉在线观看视频 | 日本在线视频中文字幕 | 人超碰 | 日韩欧美亚洲综合 | 欧美成人精品在线观看 | 熟妇人妻中文字幕无码老熟妇 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲三级电影 | 粉嫩视频在线观看 | 国产伦精品一区二区三区精品 | 国产v在线观看 | 亚洲精品视频一二三区 | 欧美一区二区三区在线观看 | 97精品国产97久久久久久粉红 | 黄色一级片毛片 | 亚洲av不卡一区二区 | 精品国产无码在线 | 日韩中文字幕不卡 | 一区二区三区精 | 91美女在线观看 | 国内精品一区二区三区 | 欧美精品乱码视频一二专区 | 国产欧美日韩精品在线 | 国产www在线 | 黄色片免费网站 | 手机av中文字幕 | 九九热这里有精品 | 日韩一级片网站 | 国产精品久久毛片av大全日韩 | jizzjizz免费 | 性爱视频在线免费 | 国产成人午夜精品无码区久久 | 秘密基地免费观看完整版中文 | www.18av | 激情视频网 | 久久黄网站 | caoporn视频在线 | 一区二区三区四区高清视频 | 成人影| 操网 | 女人扒开屁股让男人捅 | 国产又粗又长视频 | 精久久久久 | 中文字幕免费视频观看 | 香港三级在线视频 | 国产中文字幕一区二区三区 | av激情影院 | 国产亚洲精品成人 | 大地资源影视在线播放观看高清视频 | 五月网站 | 丝袜av在线播放 | 乱子伦视频在线看 | 亚洲av午夜精品一区二区三区 | 毛片视频网站在线观看 | 三级全黄做爰龚玥菲在线 | 欧美一区二区网站 | 美日韩久久 | 四虎图库 | 精品人妻伦九区久久aaa片 | 一级人爱视频 | 99久久久无码国产 | 中文字幕在线一区二区三区 | wwwxxxx日本 | 国产精品视频 | 亚州精品国产精品乱码不99按摩 | 国产粉嫩在线 | 成人激情片 | 久久伊人av| 三级av网址| 中文一区二区在线观看 | 日韩永久免费视频 | 国产三级一区二区三区 | 视频黄色免费 | 久久久精品国产sm调教网站 | 麻豆69| 国产精品1页 | 精品人妻一区二区三区换脸明星 |