加入收藏 | 设为首页 | 会员中心 | 我要投稿 南通站长网 (https://www.0513zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

原来是这么玩的

发布时间:2021-04-12 15:28:01 所属栏目:外闻 来源:互联网
导读:本系列中间,用几篇文章彻彻底底的把JDK日期时间系列深入讲解了一遍,此系列有可能是把JDK日期时间讲得最好最全的,强烈建议你前往看它一看。 本系列的上篇文章 对格式化器Formatter进行了剖析,Spring对日期时间、数字、钱币等常用类型都内置了相应的格式化

本系列中间,用几篇文章彻彻底底的把JDK日期时间系列深入讲解了一遍,此系列有可能是把JDK日期时间讲得最好最全的,强烈建议你前往看它一看。

本系列的上篇文章 对格式化器Formatter进行了剖析,Spring对日期时间、数字、钱币等常用类型都内置了相应的格式化器实现,开发者可拿来就用。但是,这在使用上依旧有一定门槛:开发者需要知道对应API的细节。比如若需要对Date、LocalDate进行格式化操作的话,就需要分别了解处理他俩的正确API,这在使用上是存在一定“难度”的。

另外,在面向元数编程大行其道的今天,硬编码往往是被吐槽甚至被拒绝的,声明式才会受到欢迎。Spring自3.0起大量的引入了“更为时尚”的元数据编程支持,从而稳固了其“江湖地位”。@DateTimeFormat和@NumberFormat两个注解是Spring在类型转换/格式化方面的元编程代表,本文一起来探讨下。了解,@DateTimeFormat是开发中出镜率很高的一个注解,其作用见名之意很好理解:对日期时间格式化。但使用起来常常迷糊。比如:使用它还是com.fasterxml.jackson.annotation.JsonFormat注解呢?能否使用在Long类型上?能否使用在JSR 310日期时间类型上?

有这些问号其实蛮正常,但切忌囫囵吞枣,也不建议强记这些问题的答案,而是通过规律在原理层面去理解,不仅能更牢靠而且更轻松,这或许是学习编程最重要的必备技巧之一。

@DateTimeFormat和@NumberFormat

在类型转换/格式化方面注解,Spring提供了两个:

  • @DateTimeFormat:将Field/方法参数格式化为日期/时间类型
  • @NumberFormat:将Field/方法参数格式化为数字类型

值得关注的是:这里所说的日期/时间类型有很多,如最古老的java.util.Date类型、JSR 310的LocalDate类型甚至时间戳Long类型都可称作日期时间类型;同样的,数字类型也是个泛概念,如Number类型、百分数类型、钱币类型也都属此范畴。

  • ❝话外音:这两个注解能够作用的类型很广很广❞分别看看这两个注解定义,不可谓不简单:

(编辑:南通站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读