04 Springboot 格式化LocalDateTime
Springboot 格式化LocalDateTime
我们知道在springboot中有默认的json解析器,Spring Boot 中默认使用的 Json 解析技术框架是 jackson。我们点开 pom.xml 中的 spring-boot-starter-web 依赖,可以看到一个 spring-boot-starter-json依赖:
引入依赖
其实引不引入这个依赖都一样 spring-boot-starter-web 里面就包含这个依赖
就是为了让你们理解是这个依赖在发挥作用
<!--而该模块JSR310支持到了时间类型的序列化、反序列化-->
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
配置全局生效
Configuration 标记这是配置类 @Bean注入到spring容器中 @value 获取参数
这里配置的格式化日期格式是全局生效 yyyy-MM-dd HH:mm:ss
这里给依赖全路径 方便导包
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Configuration
public class LocalDateTimeSerializerConfig {
@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
private String pattern;
public LocalDateTimeSerializer localDateTimeDeserializer() {
return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
}
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
// 默认LocalDateTime格式化的格式 yyyy-MM-dd HH:mm:ss
return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
}
}
**实体类 **
日期类型是 LocalDateTime
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "sg_article")
public class Article implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 标题
*/
@TableField(value = "title")
private String title;
/**
* 文章内容
*/
@TableField(value = "content")
private String content;
/**
* 文章摘要
*/
@TableField(value = "summary")
private String summary;
/**
* 所属分类id
*/
@TableField(value = "category_id")
private Long categoryId;
/**
* 所属分类名称
*/
@TableField(exist = false)
private String categoryName;
/**
* 缩略图
*/
@TableField(value = "thumbnail")
private String thumbnail;
/**
* 是否置顶(0否,1是)
*/
@TableField(value = "is_top")
private String isTop;
/**
* 状态(0已发布,1草稿)
*/
@TableField(value = "status")
private String status;
/**
* 访问量
*/
@TableField(value = "view_count")
private Long viewCount;
/**
* 是否允许评论 1是,0否
*/
@TableField(value = "is_comment")
private String isComment;
@TableField(value = "create_by")
private Long createBy;
@TableField(value = "create_time")
private LocalDateTime createTime;
@TableField(value = "update_by")
private Long updateBy;
@TableField(value = "update_time")
private LocalDateTime updateTime;
/**
* 删除标志(0代表未删除,1代表已删除)
*/
@TableField(value = "del_flag")
private Integer delFlag;
}
接口测试结果
1 在没有加全局日期格式化配置文件的时候

2 加了全局配置类的时候
yyyy-MM-dd HH:mm:ss

3 指定某个字段解析规则
yyyy-MM-dd
@TableField(value = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime createTime;

常用场景
- 我们一般会配置全局解析的规则 这样方便后续对于时间格式的处理 默认的格式 按照国人的喜好 不太方便 对于后面日期格式个性的要求 我们可以针对某个属性去设置解析规则
04 Springboot 格式化LocalDateTime的更多相关文章
- springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)--thymeleaf格式化LocalDateTime,LocalDate等JDK8新时间类
依赖maven包 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>th ...
- springboot格式化时间
使用@RestController注解,返回的java对象中若含有date类型的属性,则默认输出为TIMESTAMP时间戳格式,可以在配置文件加入下面配置 spring.jackson.date-fo ...
- (04) springboot 下的springMVC和jsp和mybatis
1. springboot 和springmvc下的注解完全一样(新增了一些有用的) 常用的注解如下: @Controller @RestController= @Controller + @Resp ...
- springboot 格式化返回日期
两种方式: 1,可以在 pojo 类每个属性添加 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8&qu ...
- 【SpringBoot】04.SpringBoot整合Filter的两种方式
SpringBoot整合Filter过滤器的两种方式: 1.通过扫描注解完成Filter组件注册 创建一个类,实现Filter接口,实现doFilter()方法 在该类使用注解@WebFilter,设 ...
- SpringBoot中LocalDatetime作为参数和返回值的序列化问题
欢迎访问我的个人网站 https://www.zhoutao123.com 本文原文地址 https://www.zhoutao123.com/#/blog/article/59 LocalDatet ...
- 【转载】java8中的Calendar日期对象(LocalDateTime)
Java 8 推出了全新的日期时间API,Java 8 下的 java.time包下的所有类都是不可变类型而且线程安全. 下面是新版API中java.time包里的一些关键类: Instant:瞬时实 ...
- java8 Date Localdatetime instant 相互转化(转) 及当天的最大/最小时间
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...
- SpringBoot简单尝试
一.spring boot核心 配置在类路径下autoconfigure下(多瞅瞅) @SpringBootApplication里的重要注解(@Configuration,@EnableAutoCo ...
随机推荐
- Android普通工具类获取Context
在普通工具类中定义一个构造方法,类成员context,用于接收传过来的context 在activity中定义: 将context传过去. 在工具类中也可以使用SharePreferences,get ...
- 第二次课堂练习-连接hbase数据库-页面展示
图片来源:中国知网 页面来源:中国科学院文献情报中心-科技查新平台 如有侵权,请评论留言
- 世界各国 MCC 和 MNC 列表
http://www.cnblogs.com/inteliot/archive/2012/08/22/2651666.html常见MCC:代码(MCC) ISO 3166-1 国家202 ...
- 微信h5静默和非静默授权获取用户openId和用户信息的方法和步骤:
原文链接:https://blog.csdn.net/qq_35430000/article/details/79299529 一.openId是什么?openId是用户在当前公众号下的唯一标识('身 ...
- javascript回调地狱真的只能Promise来解决吗?js回调地狱,Promise。
javascript的灵活在于函数可以当作函数的参数来传递,以及它的异步回调思想.但是这就带了一个很严重的问题,那就是回调次数过多,会影响代码结构,多层嵌套影响代码的可阅读性,也不便于书写. 举个例子 ...
- 深入理解计算机系统bomb炸弹实验
1. You can Russia from land here in Alaska. x /s 0x804a26c 0x804a26c: "You can Russia from la ...
- LC-203
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 . 示例 1: 输入:head = [1,2,6,3,4,5, ...
- sourceCRT设置全局字符集为utf-8
以前刚打开服务器crt字符集都会默认是default模式,搞得每次都要手动设置成UTF-8. 烦躁. 将CRT全局字符集设置成UTF-8格式方法: 设置窗口不会断掉: 即每100s发送一次ls \n ...
- 1.c语言非递归乘法表(帧栈理解)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <stdbool.h> 4 5 typedef stru ...
- mysql4与mysql5的区别_MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别
MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别 一.5.0 增加了Stored procedures.Views.Cursors.Triggers.XA transactions的 ...
