比如数据库存的日期是2018-01-05,转成json则变成了2018-01-04 解决办法: @JsonFormat(pattern="yyyy-MM-dd") public Date getRegistDate() {  return this.registDate; } 改成 @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8") public Date getRegistDate() {  r…
写在前面 最近,有个小伙伴问我:我在SpringBoot项目中,使用@JsonFormat注解标注LocalDateTime类型的字段时,LocalDateTime反序列化失败,这个我该怎么处理呢?别急,我们一起来解决这个问题. 小伙伴的疑问 解答小伙伴的疑问 我们可以使用SpringBoot依赖中的@JsonFormat注解,将前端通过json传上来的时间,通过@RequestBody自动绑定到Bean里的LocalDateTime成员上.具体的绑定注解使用方法如下所示. @JsonForma…
1. 准备 定义一个pojo,它有一个 java.util.Date 类型的属性 date. import java.util.Date; public class DateVo { private Date date; public void setDate(Date date){ this.date = date; } public Date getDate(){ return date; } } 定义一个Controller @RestController @RequestMapping(…
Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解 @JsonIgnoreProperties 此注解是类注解,作用是json序列化时将Javabean中的一些属性忽略掉,序列化和反序列化都受影响. @JsonIgnore 此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样. @JsonFormat 此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@Json…
Jackson 通过自定义注解来控制json key的格式 最近我这边有一个需求就是需要把Bean中的某一些特殊字段的值进行替换.而这个替换过程是需要依赖一个第三方的dubbo服务的.为了使得这个转换功能更加的通用,我们采用了下面的方式: client端使用自定义的注解(假设为@Dimension)标记Bean中所有的「特殊字段」 client端把bean转换为json格式,但是这个转换过程的要求是:这些特殊的字段对应的json的key需要符合一定的格式,而这个格式依赖于标记的@Dimensio…
2018年08月28日 16:41:15 混合动力火锅 阅读数:440   在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则不行 比如:   @PostMapping("/clockRecords")   public String clockRecordsPost(@RequestBody Query query){   return query.getDate()+"";   } Que…
JsonFormat 后日期少了8个小时什么鬼? 前言 今天测试的时候发现时间对不上,比数据库里的时间少了8个小时?测试小姐姐一顿狂轰乱炸,一点都不温柔. 什么鬼?哪里出了问题?数据库显示的是下面…
为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解具体格式如下 @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", locale = "zh", timezone = "GMT+8") pattern 指定转化的格式,SSSZ(S指的是微秒,Z指时区)此处的pattern和java.text.SimpleDateFormat中的Ti…
springAop使用@Around,@After等注解时,代码运行两边的问题 将@Component注解删掉就好了…
首先加入依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> 方法一.实体上使用 @JsonInclude(JsonInclude.Include.NON_NULL) 1.如果放在属性上,如果该属性为NULL则不参与序列化 ; 2.如果放在类上,那对这个类的全部属性起作用 ; 参数意义: J…
为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解具体格式如下 @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", locale = "zh", timezone = "GMT+8") pattern 指定转化的格式,SSSZ(S指的是微秒,Z指时区)此处的pattern和java.text.SimpleDateFormat中的Ti…
错误: 在使用测试注解时出现ContextConfiguration注解和test注解无法正常导包使用的编译异常,如图: 解决办法: 将pom.xml文件中以下依赖管理 中的<scope>test</scope>一行删除 原因: 不熟悉maven文件结构所致,maven在编译运行的时候src/main/java文件中是不会引用<scope>test</scope>的jar,也就是说在写测试类的时候最好是写在src/test/java文件中!…
SimpleDateFormat 格式化时间少了12个小时 标签(空格分隔): java SimpleDateFormat H:一天中的小时数:0-23 h: am/pm 小时数: 1-12 public void doPost() { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); SimpleDateFormat simpleDateFormat2 = new Simp…
Java获取系统时间少了八个小时 今天忽然遇到需要获取当前时间的问题,我向来谨慎,先测试获取到的系统时间是否正确,结果竟然发现少了八个小时,晕死了,记得之前在页面用javascript获取过当前时间,都能正确获取的.然后开始上网查,更晕了,答案各种各样,有用代码的方式(这肯定不行,因为程序不只要在自己的机子上跑的),也有修改eclipse和tomcat安装文件的,更有修改注册表的,NND,还真不知要用哪个,后来,终于找到一个,说问题出在JRE上,我很认同,一试,果然行!下面附上步骤,希望给遇到同…
Jackson时spring boot默认使用的json格式化的包,它的几个常用注解: @JsonIgnore 用在属性上面,在序列化和反序列化时都自动忽略掉该属性 @JsonProperty("xxx") 用在属性上面,在序列化和反序列化时都将该属性识别为xxx @JsonPropertyOrder(Value={"pname1","pname2"}) 用在实体类上面,主要是反序列时改变属性的排列顺序,pname1和pname2是实体类中的两个…
有组合关系的三个class定义 A { B { C {...} ... } ... } 每个class都有loadFromJson和writeAsJson方法.过去几年,三个class里的成员变量一直在添加,而数据库里有很多json string类型的老数据,为了能够正确的把它们转化为class,就需要对一些域进行判断,举个例子. 在 db 中有一个json string,是这样的 name: xins, age: 24 而几年后C添加了一个新的域,company 那么loadFromJson就…
原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties 此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响. @JsonIgnore 此注解用于属性或者方法上(最好是属性上),作用和上面的…
jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties此注解是类注解,作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响. @JsonIgnore此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样. @JsonFormat此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@Jso…
遇见了这个情况,我的字段定义是xVal,yVal,用的lombok的@Data注解.然后查询到了下面这偏文章,https://bbs.csdn.net/topics/392305619,里面的回答是图片,我只是翻译一下图片而已. 以下是引用的原文:jackson2对pojo类型序列化的处理. Jackson2在初始化序列器时,对pojo类型对象会收集其属性信息,属性包括成员变量及方法,然后属性名称和处理过后的方法名称做为key保存到一个LinkedHashMap中.收集过程中会调用com.fas…
①纯Hibernate开发: 当你在Bean中写入注解后,需要告诉hibernate哪些类使用了注解. 方法是在hibernate.hbm.xml文件中配置 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd&…
前情提要 在编写业务层方法时,会遇到很多需要事务提交的操作,spring框架为我们提供很方便的做法,就是在需要事务提交的方法上添加@Transactional注解,比起我们自己开启事务.提交以及控制回滚,要简单的多.但是在使用的时候容易犯一些错误.我就自己的错误经历总结如下. 枯燥的背景知识(可以忽略) 编程式事务管理&声明式事务管理: (一)编程式事务管理 在 Spring 出现以前,编程式事务管理对基于 POJO 的应用来说是唯一选择.用过 Hibernate 的人都知道,我们需要在代码中显…
前情提要 在编写业务层方法时,会遇到很多需要事务提交的操作,spring框架为我们提供很方便的做法,就是在需要事务提交的方法上添加@Transactional注解,比起我们自己开启事务.提交以及控制回滚,要简单的多.但是在使用的时候容易犯一些错误.我就自己的错误经历总结如下. 枯燥的背景知识(可以忽略) 编程式事务管理&声明式事务管理: (一)编程式事务管理 在 Spring 出现以前,编程式事务管理对基于 POJO 的应用来说是唯一选择.用过 Hibernate 的人都知道,我们需要在代码中显…
在使用Shiro框架进行项目整合时,使用注解在使用Shiro框架进行项目整合时,使用注解在使用Shiro框架进行项目整合时,使用注解@RequiresPermissions为方法提供是需要的权限,但是根本没有进行验证,后面发现在自己的Realm中只执行了doGetAuthenticationInfo(登录验证)方法而没有执行doGetAuthorizationInfo(权限验证)的方法. 查看相关资料后发现是因为在Springmvc的配置文件中(我的名字是spring-servlet.xml)没…
在spring中使用注解方式时需要在spring配置文件中配置组件扫描器:http://blog.csdn.net/j080624/article/details/56277315 <context:component-scan>详解:http://outofmemory.cn/java/spring/spring-DI-with-annotation-context-component-scan…
修改输入@提示所有的注解提示方法 eclipse下windows-->preference-->java-->editor-->Content Assist下的Enable auto activation选项中的Auto activation triggers for javadoc中的@去掉 然后在Auto activation triggers for java中增加@ 设置成功!…
这个情况是由于导入错了Entity包所导致的. 按住Alt+T时,会有两个关于@Entity的提示 org.hibernate.annotations.Entity 和 javax.persistence.Entity,我们应该使用javax.persistence.Entity.此时就不会出现过时的提示. @org.hibernate.annotations.Entity 和 @javax.persistence.Entity 的区别: JPA的Entity类和Hibernate的Entity…
练习spring的ioc的注解的时候写上注解就会在第一行package报错configure build path. 用的spring4.2.4的jar包.经过上网查阅资料,可能是jar包冲突,解决办法为: 我的myeclipe用的jdk的版本1.8,将jdk版本换成1.7以后,问题得到解决.…
去掉这个注解就行了 应该是 mybatis 会调用实体类的 getter  setter 方法, 返回值可能会有所影响…
最近redis 域名一致解析错误,导致业务多了很多异常.那么如何在这种情况下直接访问数据库,而不是报错呢 1. 解决方案 其实很简单,在配置 redis 时,只需要多一项配置,继承 CachingConfigurerSupport ,然后重写其 errorHandler 方法即可,代码如下: /** * 如果cache出错, 我们会记录在日志里,方便排查,比如反序列化异常 */ @Override public CacheErrorHandler errorHandler() { return…
import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation which indicates the annotated me…