SpringBoot——对于属性中的时间和文件的单位进行设置

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。SpringBoot——对于属性中的时间和文件的单位进行设置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

简单介绍:

在之前我们编写配置文件的时候,有时候多种技术的配置的属性值的默认属性的单位不同,比如在Tomcat中,对于最大连接时间就是以毫秒为单位,但是对于session的过期时间就是以分钟为单位,像这种单位不不统一就容易造成我们在编写配置文件的时候数值输入错误。那么我们就来稍微介绍一下关于计量单位以及对属性做一些基本的数据校验。

常用计量单位:

在我们常用的计量单位中,有一些比如时间上的毫秒,秒,天,星期,月,年等,那么我们如何在配置文件中实现只写单纯的数字但是我在显示输出的后可以带着单位一起输出,这样就能知道我们输入的数字是什么单位了。

1、首先导入坐标:

<dependency>
       <groupId>org.webjars.bower</groupId>
       <artifactId>humanize-duration</artifactId>
       <version>3.0.0</version>
</dependency>

2、在我们接收数据的类中,对类中接收数据的属性做一些修改:

SpringBoot——对于属性中的时间和文件的单位进行设置注意在我们的类中要做两件事情,第一件事就是修改我们接收数据的数据类型为Duration,这个类数专门用来描述时间的计量单位,可以设置时间的单位,在配置中只写数字就可以输出对应的单位。这个对应的单位的设置就是通过我们的注解了:@DurationUnit,这个注解就是用来设置单位的,这个注解的属性是一些常量,这些常量对应的有天,小时,月,年等:

SpringBoot——对于属性中的时间和文件的单位进行设置

我们选择小时来看一下它的输出结果:

SpringBoot——对于属性中的时间和文件的单位进行设置 我们在配置文件中只写了一个12,但是我们在输出的时候确实输出了PT12H,这个12H就表示是12小时,除了小时,还可以设置为分钟:

SpringBoot——对于属性中的时间和文件的单位进行设置

  然后我们来看输出的结果:

SpringBoot——对于属性中的时间和文件的单位进行设置

可以看到刚才输出的H已经变成了M,M代表的就是分钟啊,这样我们就对时间的格式有了一个简单的认知,如果我们不知道某个属性的单位,我们就可以看到它的单位是什么。

文件计量单位: 

除了时间的计量单位,还有文件的计量单位,比如我在读取一个文件的时候这个文件的大小,有时候是MB,GB,TB等等,比如我要对读取文件的大小做一个限制,或者是对于缓冲区的一些设置,这时候我肯定是对于文件的大小单位比较敏感的,你想如果我写入一个1,你怎么知道我是要达到1MB刷新还是达到1GB刷新,那么对于文件的单位也可以进行设置:

SpringBoot——对于属性中的时间和文件的单位进行设置

其实设置的方式与之前是一样的,区别在于用来接收数据的数据类型要改成DataSize,然后设置单位的注解要修改成@DataSizeUnit,同样的注解中具有一些常量用来代表常用的文件大小的单位,比如BYTE,MB,GB,TB等等,我们现在设置的就是BYTE,我们来看运行结果:

SpringBoot——对于属性中的时间和文件的单位进行设置 可以看到我们输出的时候,除了我们写入的数字之外,还带了一个单位B,这个B就是BYTE的单位,我们可以修改成MB看一下效果:

SpringBoot——对于属性中的时间和文件的单位进行设置 

他最终的显示结果是将12MB转换成了12582912B,也就是说,最终显示的单位都是B,只不过他将我们的单位都转换了。

其他的单位感兴趣的可以自己尝试一下。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153249.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!