文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot常用计量与bean属性校验和进制数据转换规则是什么

2023-07-04 10:54

关注

这篇文章主要介绍“SpringBoot常用计量与bean属性校验和进制数据转换规则是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot常用计量与bean属性校验和进制数据转换规则是什么”文章能帮助大家解决问题。

常用计量单位

SpringBoot支持JDK8提供的时间与空间计量单位

@Data  //lombok省去get/set/toString@ConfigurationProperties(prefix = "servers") //配置文件的位置,对应的属性注入public class ServerConfig {    private String ipAddress;    private int port;    private String detail;//时间    private Duration serverTimeOut;//存储空间    private DataSize dataSize;}

配置文件中可以在之后直接加单位

servers:
 ipAddress: 192.158.0.1
 port: 1234
 detail: zhangsan
 serverTimeOut: 10s
 dataSize: 4MB

运行结果

SpringBoot常用计量与bean属性校验和进制数据转换规则是什么

或者不在配置文件加单位,在实体类中加注解

SpringBoot常用计量与bean属性校验和进制数据转换规则是什么

bean属性校验

开启Bean数据校验

①添加JSR303规范坐标与Hibernate校验框架对应坐标

<!--        提供规范的接口-->        <dependency>            <groupId>javax.validation</groupId>            <artifactId>validation-api</artifactId>        </dependency><!--        对上面接口的实现-->        <dependency>            <groupId>org.hibernate.validator</groupId>            <artifactId>hibernate-validator</artifactId>        </dependency>

②:@Validated开启校验功能

③:设置校验规则

@Data  //lombok省去get/set/toString//@Component //交给spring容器管理@ConfigurationProperties(prefix = "servers") //配置文件的位置,对应的属性注入//②开启校验@Validatedpublic class ServerConfig {    private String ipAddress;//    ③设置校验规则@Max(value=9000,message = "最大不能超过9000")@Min(value=100,message = "最大不能低于100")    private int port;    private String detail;    private Duration serverTimeOut;    private DataSize dataSize;}

运行之后,当设置的校验不在这个范围则会报错

SpringBoot常用计量与bean属性校验和进制数据转换规则是什么

小结:

启用Bean属性校验

导入JSR303与Hibernate校验框架坐标

使用@Validated注解启用校验功能

使用具体校验规则规范数据校验格式

进制数据转换规则

配置文件中的数字存在进制转换

当以0开头,且后续为(0-7),会自动转为八进制

当以0x开头,且后续为(0-9,a-f)会自动转为十六进制

application.yml下

mysql:
 Password1: 01234
 Password2: 0x2345
 Password3: 0187
 Password4: "01234"

test类

package com;import com.pojo.ServerConfig;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.ApplicationContext;import org.springframework.context.ConfigurableApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;@SpringBootTestclass Springboot11ConfigurationApplicationTests {    @Value("${mysql.Password1}")    private String password1;    @Value("${mysql.Password2}")    private String password2;    @Value("${mysql.Password3}")    private String password3;    @Value("${mysql.Password4}")    private String password4;    @Test    void contextLoads() {        System.out.println(password1);        System.out.println(password2);        System.out.println(password3);        System.out.println(password4);    }}

运行结果:

SpringBoot常用计量与bean属性校验和进制数据转换规则是什么

可以看出当加上双引号不会发生进制转换,所以在进行这类操作时,应当加上双引号。当十进制以0开头,会到之后

yaml字面值表达式方式

SpringBoot常用计量与bean属性校验和进制数据转换规则是什么

关于“SpringBoot常用计量与bean属性校验和进制数据转换规则是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯