文档章节

崛起于Springboot2.X之JDK8Time时间类的配置(37)

就叫程舰
 就叫程舰
发布于 2018/10/08 17:35
字数 387
阅读 195
收藏 9

缘由:jdk7的日期类是java.util.date,java.util.Calendar因为他们是非线程安全,所以jdk8提供了一个java.time包,用LocalDateTime、LocalDate代替Date

有的公司用到了jdk8,自然就会有人不再使用Date,而是LocalDateTime,以后各位老铁会遇到有的公司在实体类的字段中使用这个类的。

1、勾选Web模块、lombok模块

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

2、全局变量配置格式化

@Configuration
public class LocalDateConfig {

    @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
    private String pattern;

    @Bean
    public LocalDateTimeSerializer localDateTimeDeserializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
    }
}

3、实体类

@Data
public class Student {
    private LocalDateTime schoolTime;
}

4、直接测试

@RestController
public class TestController {
    @GetMapping(value ="/test1")
    public Student test1(){
        LocalDateTime date = LocalDateTime.now();

        Student student = new Student();
        student.setSchoolTime(LocalDateTime.now());

        return student;
    }
}

5、结果

6、局部变量

上面是一种全局变量设置,如果我们只是局部变量的格式化的话,那么把配置类删除,然后在Student的那个字段加一个注解就可以了,如下:

@Data
public class Student {
    @JsonFormat(pattern = "yyyy-MM-dd HH")
    private LocalDateTime schoolTime;
}

7、结果

8、总结

但是我们并没有删除配置类,但是结果的格式是按照实体类中注解走的,因为实体类的是局部变量,局部变量的优先级高于全局变量!

© 著作权归作者所有

共有 人打赏支持
就叫程舰

就叫程舰

粉丝 114
博文 199
码字总数 142903
作品 0
海淀
程序员
私信 提问
崛起于Springboot2.X之集成工作流Activiti5.22(42)

声明:该博客主要是Springboot1.X和Springboot2.X集成Activiti5.22版本,并说一下两个版本的搭建不同的地方 技术:Springboot2.0.3+mysql+jpa(自动生成25张表)+Activiti5.22 /然后Springboo...

木九天
2018/12/17
0
1
崛起于Springboot2.X之多节点mongodb实现区块链交易记录(36)

序言:根据前两篇崛起于Springboot2.X之区块链单节点mysql实现交易记录和崛起于Springboot2.X之Mongodb多数据源处理,进行整合,实现区块链多节点mongodb实现交易记录方案。直接上代码了,不...

木九天
2018/08/23
0
0
崛起于Springboot2.X之事务管理(12)

1、开启事务 启动类上添加注解@EnableTransactionManagement,默认开启事务,注解事务管理,等同于xml配置方式的 <tx:annotation-driven /> 接下来就可以直接在service方法上添加@Transactio...

木九天
2018/07/15
0
2
崛起于Springboot2.X之配置文件详解(10)

序言:针对公司开发配置文件的一些基础常识 1、核心配置文件 springboot框架也被我认为一个工具,它的主要核心文件为application.properties,又可以命名为application.yml亦或者application...

木九天
2018/07/14
0
0
崛起于Springboot2.X之redis集群搭建(17)

Springboot2.0.3 1、添加配置 spring.redis.jedis.pool.max-active=8spring.redis.jedis.pool.max-wait=-1msspring.redis.jedis.pool.min-idle=0spring.redis.jedis.pool.max-idle=8spring.......

木九天
2018/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

富兰克林的人生信条

春节假期期间读了富兰克林自传,这位饱经风霜的老人出身贫寒,只读过两年书,但是通过刻苦自学和不懈奋斗还是取得了令人难以置信的成就,他的一生可以作为我们普通人的励志典范。 富兰克林 ...

春哥大魔王的博客
今天
1
0
不用中间变量交换 a ,b(三种方法)

1、加减法:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失。 a = a + b; b = a - b; a = a - b; 2、异或法:可以完成对整型变量的交换,对于浮点型变量它...

robslove
今天
5
0
一文了解 OutOfMemory 及解决方案

1. Java 堆空间 发生频率 5颗星 造成原因 无法在 Java 堆中分配对象 吞吐量增加 应用程序无意中保存了对象引用,对象无法被 GC 回收 应用程序过度使用 finalizer。finalizer 对象不能被 GC 立...

java菜分享
今天
5
0
高效遍历Java容器

通过本文,你可以更深入的学习 Java 语言中 forEach 语法的知识,以及它和 C 语言形式的 for 循环、 Steam API 的对比。 简介 Java 程序员经常使用容器,比如 ArrayList 和 HashSet。Java 8 ...

微笑向暖wx
今天
4
0
SpringBoot整合Swagger测试api构建

什么是Swagger? Swagger是什么:THE WORLD’S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspector:测试API和生成OpenAPI的开发工具。Swagger Inspector的建立是为了解决开发者的...

编程SHA
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部