java springboot通过application配置文件生成随机值并控制范围

我们找到 项目的 application 配置文件 这里我们还是习惯用 yml格式的

我们在配置文件中 写出
${random.} 的时候 他就会将所有可配置的随机类型都提示出来了 有 整数 长整星 字符串 uuid
在这里插入图片描述
这里 我们来个模板

testcase:book:id: ${random.int}name: ${random.value}date: ${random.long}uuid: ${random.uuid}

id 随机生成一个 整数 name 随机生成一个字符串 date 随机生成一个long类型数据 uuid 随机生成一个uuid

然后 我们创建一个类 我这里就叫 user了
参考代码如下

package com.example.webdom.domain;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@ConfigurationProperties(prefix = "testcase.book")
@Component
public class user {private int id;private String name;private long date;private String uuid;public void setId(int id) {this.id = id;}public void setName(String name) {this.name = name;}public void setDate(long date) {this.date = date;}public void setUuid(String uuid) {this.uuid = uuid;}public int getId() {return id;}public String getName() {return name;}public long getDate() {return date;}public String getUuid() {return uuid;}@Overridepublic String toString() {return "user{" +"id=" + id +", name='" + name + '\'' +", date=" + date +", uuid='" + uuid + '\'' +'}';}
}

这个类 我们先声明 ConfigurationProperties 这个属性之前我们也讲过 将application中的值 匹配到我们的属性类中 我们这里指定 拿 testcase 下的 book
testcase 和 book这里 叫什么 名字 什么结构无所谓 因为 反正你只要写在application中的属性 ConfigurationProperties 都可以去掉 主要还是 ${random.类型} 生成随机值
然后 这里 id 数字类型 name 字符串类型 uuid实际拿到类型也是字符串 然后 date 狼类型

然后 我们写了它的get set方法
又重写了 它的 toString方法 方便打印出来看

然后我们在测试类中 条件装配一下这个user类 然后输出控制台看一下
在这里插入图片描述
然后 我们右键运行 测试方法
在这里插入图片描述
这边 我们可以多试几次 每个值都是不同的

但这种 其实有点鸡肋 很多人都会想 这有什么用呀?

我们还可以控制生成数据的范围
这边我们这样改

testcase:book:id: ${random.int(5,10)}name: ${random.value}date: ${random.long}uuid: ${random.uuid}

现在 id的随机值 会在 5-10中生成
我们再次运行
在这里插入图片描述
完全没有问题

最后提一下 value生成的随机字符串 是MD5加密的 32位字符串

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/209714.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu18.04安装Ipopt-3.12.8流程

本文主要介绍在Ubuntu18.04中安装Ipopt库的流程,及过程报错的解决方法,已经有很多关于Ipopt安装的博客,但经过我的测试,很多都失效了,经过探索,找到可流畅的安装Ipopt的方法,总结成本篇博客。 …

提升Zoom视频会议流畅度,试试一站式SaaS应用加速方案

对于一些跨国企业,Zoom是比较常用的视频会议软件。首先明确的是Zoom官方版也就是国际版,国内企业访问Zoom国际版会觉得慢一点,尤其在进行跨国、跨区域大型实时会议时卡顿、花屏就会更为明显。 为什么会卡顿呢? 主要问题之一还是受…

zabbix配置snmp trap--使用snmptrapd和Bash接收器(缺zabbix_trap_handler.sh文中自取)--图文教程

1.前言 我的zabbix的版本是5.0版本,5.0的官方文档没有使用bash接收器的示例,6.0的官方文档有使用bash接收器的示例,但是,下载文件的链接失效?! 这里讲解zabbix-server端配置和zabbix web端配置 2.zabbix-…

UI咨询公司-蓝蓝设计:顶级秘籍:提升UI设计吸引力的3大绝招

想要让你的UI设计在海量应用中脱颖而出,吸引用户眼球吗?如果你正在寻找提升UI设计吸引力的绝妙方法,那么你绝对不能错过本文!我们将为你揭示顶级UI设计师都不会告诉你的3大绝招,让你轻松掌握提升UI设计吸引力的关键技巧…

kafka 3.x 学习笔记

kafka 3.x 学习笔记 在 kafka 2.8.0 版本之前,安装使用 kafka 需要配套安装 zookeeper,但在 2.8.0 版本之后,不再需要安装 zookeeper,本次学习笔记采用的 kafka 版本为 3.0.0。 文章目录 kafka 3.x 学习笔记一、kafka 定义1 什么是…

【Proteus仿真】【51单片机】篮球比赛计分器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用声光报警模块、动态数码管模块、按键模块等。 主要功能: 系统运行后,数码管显示比赛时间和AB队得分;系统还未开…

网络和Linux网络_10(网络层)IP协议+分片组装+网段划分+路由

目录 1. IP协议作用和报头 1.1 IP和TCP作用 1.2 IP协议报头 2. 分片与组装 2.1 分片与组装概念 2.2 类似面试题的QA 3. 网段划分和IP地址 3.1 网段划分 3.2 IP地址分类 3.3 内外IP和公网IP地址 4. 路由和8位生存时间 4.1 路由的概念 4.2 8位生存时间 5. IP相关选…

华为云之一键安装宝塔面板

华为云之一键安装宝塔面板 一、本次实践介绍1.1 实践环境简介1.2 本次实践目的 二、宝塔面板介绍三、环境准备工作3.1 预置实验环境3.2 查看环境信息3.3 登录华为云3.4 查看弹性云服务器状态3.5 ssh登录弹性云服务器3.6 查看操作系统版本 四、安装宝塔面板4.1 一键部署宝塔面板…

git 本地改动无法删除

1. 问题 记录下git遇到奇怪的问题,本地有些改动不知道什么原因无法删除 git stash, git reset --hard HEAD 等都无法生效,最终通过强制拉取线上解决 如下图: 2. 解决 git fetch --all git reset --hard origin/master执行这两…

业务场景中Hive解析Json常用案例

业务场景中Hive解析Json常用案例 json在线工具 json格式转换在线工具 https://tool.lu/json/format格式互转: // 格式化可以合并整行显示 {"name":"John Doe","age":35,"email":"johnexample.com"}// 格式化…

TimeGPT:时间序列预测模型实例

时间序列预测领域正在经历一个非常激动人心的时期。在过去的三年里,我们见证了许多重要的贡献,如N-BEATS、N-HiTS、PatchTST和TimesNet等。同时,大型语言模型(LLM)近来在流行度方面取得了很大的成功,例如Ch…

深入了解Java Period类,对时间段的精确控制

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概2900多字,预计阅读时间长需要3分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

海外的直播平台

1、Netflix Netflix以允许人们从众多设备观看系列和电影而闻名。用户可以开设一个帐户并添加不同的用户个人资料,这对于想要为整个家庭拥有单独帐户而又无需开设大量帐户并单独付款的人来说非常有用。它现在增加了一个直播服务,允许观众参加现场练习课程…

chrome overrides 怎么用?

在network里找到你想替换的文件 右键选择override content 他会提示你选择文件夹 你选择本地的一个 紧接着他会提示你 点允许 再去你创建的那个目录里查看 会发现 他自动帮你创建了目录 他会把线上的被替换目标文件放在里面 你直接修改他就可以了

MySQL InnoDB Cluster

MySQL InnoDB Cluster 一、InnoDB Cluster 基本概述 MySQL InnoDB Cluster 为 MySQL 提供了一个完整的高可用解决方案。通过使用 MySQL Shell 提供的 AdminAPI,你可以轻松地配置和管理一组至少由3个MySQL服务器实例组成的 InnoDB 集群。 InnoDB 集群中的每个 MySQL 服务器实例…

python爬虫基础知识

使用python进行网络爬虫开发之前,我们要对什么是浏览器、什么HTML,HTML构成。请求URL的方法都有一个大概了解才能更清晰的了解如何进行数据爬取。 什么是浏览器? 网页浏览器,简称为浏览器,是一种用于检索并展示万维网信息资源的…

基于Java SSM框架实现实现四六级英语报名系统项目【项目源码+论文说明】

基于java的SSM框架实现四六级英语报名系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个高校四六级报名管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作…

绿色建筑革新,气膜球馆成为城市锻炼新热点

近年来,全民健身设施蓬勃发展,个性化球场设计逐渐取代了传统模式,其中备受欢迎的是新潮的绿色建筑——气膜室内球馆。这种创新的建筑形式不仅适用于传统的篮球、足球、羽毛球等常规运动,还可以容纳冰壶、滑雪等更为复杂的活动&…

Spring事务传播机制

在上篇文章中,小编带领大家了解了Spring事务:Spring事务-CSDN博客,那么,本篇文章将会带领大家深入了解:Spring事务传播机制,感兴趣的各位老铁,欢迎深入探讨!! 事务传播机…

JavaScript编程基础 – For循环

JavaScript编程基础 – For循环 JavaScript Programming Essentials – For Loop By JacksonML 循环可以多次执行代码块,而不用反复重写相同的语句。这无疑对提升代码质量、减少错误大有脾益。本文将简要介绍for循环的几种案例,希望对读者有所帮助。 …