• 使用mybatis-plus的时候出现了LocalDateTime类(jdk8 中新出现的类
  • 那么我在反序列化的时候出了问题。

我在springboot 2.1.3 中使用以下类结局问题)

  • 用到了下面这个类解决了所有的问题。包括前端传值过来也能直接接受字符串
  • 百度上面也猜了许许多多的坑 最终换了一个spring boot的版本 然后用以下的代码配置完美解决了问题
  1. import com.fasterxml.jackson.databind.ObjectMapper;
  2. import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
  3. import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
  4. import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
  5. import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.format.Formatter;
  9. import java.text.ParseException;
  10. import java.time.LocalDate;
  11. import java.time.LocalDateTime;
  12. import java.time.LocalTime;
  13. import java.time.format.DateTimeFormatter;
  14. import java.util.Locale;
  15. /**
  16. * 接收时间配置bean
  17. */
  18. @Configuration
  19. public class LocalDateTimeFormatConfig {
  20. @Bean(name = "mapperObject")
  21. public ObjectMapper getObjectMapper() {
  22. ObjectMapper om = new ObjectMapper();
  23. JavaTimeModule javaTimeModule = new JavaTimeModule();
  24. javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  25. javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
  26. javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
  27. om.registerModule(javaTimeModule);
  28. return om;
  29. }
  30. @Bean
  31. public Formatter<LocalDate> localDateFormatter() {
  32. return new Formatter<LocalDate>() {
  33. @Override
  34. public String print(LocalDate object, Locale locale) {
  35. return object.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  36. }
  37. @Override
  38. public LocalDate parse(String text, Locale locale) throws ParseException {
  39. return LocalDate.parse(text, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  40. }
  41. };
  42. }
  43. @Bean
  44. public Formatter<LocalDateTime> localDateTimeFormatter() {
  45. return new Formatter<LocalDateTime>() {
  46. @Override
  47. public String print(LocalDateTime object, Locale locale) {
  48. return object.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
  49. }
  50. @Override
  51. public LocalDateTime parse(String text, Locale locale) throws ParseException {
  52. return LocalDateTime.parse(text, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
  53. }
  54. };
  55. }
  56. @Bean
  57. public Formatter<LocalTime> localTimeFormatter() {
  58. return new Formatter<LocalTime>() {
  59. @Override
  60. public String print(LocalTime object, Locale locale) {
  61. return object.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
  62. }
  63. @Override
  64. public LocalTime parse(String text, Locale locale) throws ParseException {
  65. return LocalTime.parse(text, DateTimeFormatter.ofPattern("HH:mm:ss"));
  66. }
  67. };
  68. }
  69. }

LocalDateTime反序列化,LocalDateTime格式化的更多相关文章

  1. 解决Jackson2反序列化LocalDateTime报错

    今天在整合redis和spring boot的时候,遇到了一个错误,记录一下. 报错如下: Could not read JSON: Cannot construct instance of `jav ...

  2. Java基础进阶:时间类要点摘要,时间Date类实现格式化与解析源码实现详解,LocalDateTime时间类格式化与解析源码实现详解,Period,Duration获取时间间隔与源码实现,程序异常解析与处理方式

    要点摘要 课堂笔记 日期相关 JDK7 日期类-Date 概述 表示一个时间点对象,这个时间点是以1970年1月1日为参考点; 作用 可以通过该类的对象,表示一个时间,并面向对象操作时间; 构造方法 ...

  3. fastjson反序列化LocalDateTime失败的问题java.time.format.DateTimeParseException: Text '2019-05-24 13:52:11' could not be parsed at index 10

    本地java类 import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; ...

  4. Java日期时间API系列13-----Jdk8中java.time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等

    从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...

  5. springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)--thymeleaf格式化LocalDateTime,LocalDate等JDK8新时间类

    依赖maven包 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>th ...

  6. springmvc fastjson 反序列化时间格式化

    第一种情况是从后台拿到数据,进行反序列化,反序列化格式时间:试了一下很多网上的方法,最后发现还是在实体类上面的日期字段加上如下注解,可以完成格式化操作,否则默认就都是时间戳的格式: @JSONFiel ...

  7. Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  8. 为啥你用@JsonFormat注解时,LocalDateTime会反序列化失败?

    写在前面 最近,有个小伙伴问我:我在SpringBoot项目中,使用@JsonFormat注解标注LocalDateTime类型的字段时,LocalDateTime反序列化失败,这个我该怎么处理呢?别 ...

  9. java 常用类库:格式化NumberFormat;SimpleDataFormat类(转换Data()对象);DateTimeFormatter 转换LocalDateTime时间对象

    NumberFormat类 该类是一个做数字格式化的类,它是一个抽象类,无法实例化.它提供了parse()和format()方法,其中format用于将数值,格式转化成字符串,parse()用于把字符 ...

随机推荐

  1. VS 2013Ultimate 开发过程中遇到的问题——listbox的隐藏问题,combobox.textchanged的中文问题

    最近项目有需求,就是把一个combobox让它可以根据用户输入的汉字就行模糊查询出匹配的下拉框内容,很简单,是吧 但是!!!在开发中真是遇到了不少问题呢. 一.实现流程 1)我的实现思维是这样的,先把 ...

  2. [HEOI2016/TJOI2016]游戏

    Description: 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看是否能炸到对手,或者躲开对手的炸弹.在玩游戏的过程中,小H想到了这样一 ...

  3. 极速创建 IOS APP !涛舅舅苹果 IOS APP自助生成系统!不用证书、不用越狱、永久可用

    不用签名将网页封装成苹果APP,无需苹果企业签名,IPA签名,ios签名,免越狱安装 (本方法只支持网站封装app,原生的用不了,详细请咨询客服) 近期很多朋友问我把网站变成app的方法,原因很多种, ...

  4. Oracle ctl模版

    将txt数据装载到数据库 数据无”” LOAD DATA CHARACTER-SET ZHS16GBK truncate into table a FIELDS TERMINATED BY ‘,’ T ...

  5. linux报错-bash: xhost: command not found

    本帖转自倔强小梦https://www.cnblogs.com/xphdbky/p/8243008.html 倔强小梦参考自:http://blog.csdn.net/csdnones/article ...

  6. CefSharp Cookie独立 GetGlobalCookieManager

    可以实现:  登陆多个京东站点,而京东各个账号互不影响. 可以完全实现Cookie独立,Cache独立. Demo用VS2017开发,C# ,NET4.5 没错,稍加改造就可以用来刷单.有Demo,有 ...

  7. React修改state(非redux)中数组和对象里边的某一个属性的值

    在使用React时,会经常需要处理state里边设置的初始值以达到我们的实际需求,比如从接口获取到列表数据后要赋值给定义的列表初始值,然后数据驱动view视图进而呈现在我们眼前,这种最简单的赋值方式实 ...

  8. Address already in use: make_sock: could not bind to address 0.0.0.0:80

    网上查了很多资料都是要杀进程,但是并没有找到占用的进程. 最后解决的方案是在apache配置文件下,去掉Listen 80 即可

  9. MapReduce的工作原理

    MapReduce简介 MapReduce是一种并行可扩展计算模型,并且有较好的容错性,主要解决海量离线数据的批处理.实现下面目标 ★ 易于编程 ★ 良好的扩展性 ★ 高容错性   MapReduce ...

  10. Mysql 创建及导入表

    连接数据库 打开命令行输入mysql -uroot -p 进行数据库连接 创建并访问数据库 CREATE DATABASE test: //创建数据库test SHOW DATABSAES; //查看 ...