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.mzph.cn/news/187004.shtml

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

相关文章

时序预测 | Python实现TCN时间卷积神经网络价格预测

时序预测 | Python实现TCN时间卷积神经网络时间序列预测 目录 时序预测 | Python实现TCN时间卷积神经网络时间序列预测预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 时间卷积网络,TCN。 利用CNN技术处理时间序列数据。 卷基础层有三种,第一种是一维CNN,用于输…

C语言每日一题(42)删除链表的倒数第N个结点

力扣网 19 删除链表的倒数第N个结点 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head …

稳定的音频来了 — 使用人工智能创作音乐(for free)

今天,以稳定扩散(Stable Diffusion)和StableLM等开源AI工具和模型而闻名的Stability AI公司推出了其首个音乐和声音生成AI产品——StableAudio。音乐产业以其难以打入而闻名。即使您拥有才华和动力,您仍然需要创作和制作音乐所需的…

tornado模版注入 [护网杯 2018]easy_tornado 1

打开题目 打开flag.txt 告诉我们flag在 /fllllllllllllag下 打开welcome.txt 我们看到了render渲染函数,联想到ssti 打开hints.txt 然后我们留意到每个打开url上面都有filehash 告诉我们如果想要访问/fllllllllllllag下的flag文件,是需要filehash这个GE…

二、shell编程快速入门

目录 1、入门示例 2、解释器 3、shell脚本执行方式 3.1 方式一:sh执行脚本 3.2 方式二:工作目录执行 3.3 方式三:绝对路径执行 4、shell的数据类型 4.1 字符串 4.2 整数型 1、入门示例 以下所有操作都在/export/shell目录下进行&am…

dapper+mysql查询报Error parsing column 0 (Id=<null>)

之前的分页接口都是正常的&#xff0c;突然就报错了Error parsing column 0 (Id<null>) {"error": {"code": null,"message": "Error parsing column 0 (Id<null>)","details": "DataException: Error pa…

【Web】UUCTF 2022 新生赛 个人复现

目录 ①websign ②ez_rce ③ez_upload ④ez_unser ⑤ezsql ⑥ezpop ⑦funmd5 ⑧phonecode ⑨ezrce ①websign 右键打不开&#xff0c;直接抓包发包看源码 ②ez_rce “反引号” 在PHP中会被当作SHELL命令执行 ?codeprintf(l\s /); ?codeprintf(ta\c /ffffffffffl…

Spring Security 的使用

一、简介 1.1、Spring Security 相关概念 1.过滤器链&#xff08;Filter Chain&#xff09; 基于Servlet过滤器&#xff08;Filter&#xff09;处理和拦截请求&#xff0c;进行身份验证、授权等安全操作。过滤器链按顺序执行&#xff0c;每个过滤器负责一个具体的安全功能。 …

入门Python+Vue 全栈开发可视化BI数据项目几个要点总结

随着数据的快速增长和业务的复杂性&#xff0c;越来越多的企业开始关注数据分析和可视化。在本文中&#xff0c;我们将介绍如何使用Python和Vue进行全栈开发&#xff0c;构建一个可视化BI数据项目&#xff0c;并总结几个关键要点。 首先&#xff0c;Python是一种强大而灵活的编…

利用Linux中的iptables进行网络代理配置

作为资深爬虫技术员&#xff0c;爬虫需要代理IP池介入这是众所周知的。今天我将用我毕生所学&#xff0c;谈谈linux中使用iptables工具来进行网络配置&#xff0c;并通过linux系统创建属于自己的ip库池&#xff0c;如有错误望各位大佬指正。 我们知道&#xff0c;在Linux中&am…

java-Swing界面简析

一、简析&#xff1a; 调用java提供的 java.swing包下的各种类可以实现界面中的各种组件(比如输入框、密码框按钮、单选框、复选框等) 二、java.swing包的关键类&#xff1a; 顶层容器&#xff1a;Jframe(窗口) 中间容器&#xff1a;Jpanel(面板) 基本控件&#xff1a; I…

FL Studio水果软件最新21.1.1.3750破解版下载

FL Studio是一款流行的图像线软件制作和编辑音频文件。作为一款领先的创新产品&#xff0c;该软件能够满足在创作音乐方面的需求。有了这个产品&#xff0c;可以完成制作音乐的整个过程。可以使用这个软件进行写作&#xff0c;编辑&#xff0c;录音&#xff0c;编辑和混合和掌握…

【服务部署】常用内网穿透方案

一、前言 由于一些开发及使用需求&#xff0c;需要将内网机器端口映射到公网&#xff0c;达到公网访问内网环境的目的 本文主要介绍几种常用的内网穿透方案 ssh远程端口转发 部署简单&#xff0c;无需额外安装软件包 frp反向代理 功能配置丰富&#xff0c;部署相对复杂&#…

uni-app 自带返回方法onBackPress,返回上一级并且刷新页面内容获取最新的数据

onBackPress 返回上一级并且刷新页面内容获取最新的数据 onBackPress 方法是uinapp自带返回键方法&#xff0c;也就是在app和H5返回键 onBackPress() {setTimeout(() > {uni.switchTab({url: /pages/Users/index,})}, 300)return true}, methods: {}在这里 uni.switchTab…

Linux 命令pwd

命令作用 pwd是Linux中一个非常有用而又十分简单的命令&#xff0c;pwd是词组print working directory的首字母缩写&#xff0c;即打印工作目录&#xff1b;工作目录就是你当前所处于的那个目录。 pwd始终以绝对路径的方式打印工作目录&#xff0c;即从根目录&#xff08;/&am…

LeetCode(45)最长连续序列【哈希表】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 最长连续序列 1.题目 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&a…

7.23 SpringBoot项目实战【评论】

文章目录 前言一、编写控制器二、编写服务层三、Postman测试前言 我们在 7.4 和 7.20 都曾实现过 评论列表,本文我们继续SpringBoot项目实战 评论 功能。逻辑实际相当Easy:一个学生 对 任意书 都可以 多次评论,但需要经过审核! 回顾一下 4.2 的数据库设计,学生图书评论表…

vue3+element-plus+vue-cropper实现裁剪图片上传

1.vue3element-plusvue-cropper实现裁剪图片 element-UI官网element-plus官网vue-croppervue3使用vue-cropper安装&#xff1a;npm install vue-croppernext 2.vue-cropper插件&#xff1a; <vue-cropper :img"option.img" /><script setup>import {reac…

STM32F407-14.3.7-01PWM输入模式

PWM 输入模式 此模式是输入捕获模式的一个特例。其实现步骤与输入捕获模式基本相同&#xff0c;仅存在以下不同之处&#xff1a; 例如&#xff0c;可通过以下步骤对应用于 TI1① 的 PWM 的周期&#xff08;位于 TIMx_CCR1⑨ 寄存器中&#xff09;和占空 比&#xff08;位于 …

认识JVM 一个Java文件的JVM之旅

准备 我是一个java文件&#xff0c;如何实现我的功能呢&#xff1f;需要去JVM(Java Virtual Machine)这个地方旅行。 变身 我高高兴兴的来到JVM&#xff0c;想要开始JVM之旅&#xff0c;它确说&#xff1a;“现在的我还不能进去&#xff0c;需要做一次转换&#xff0c;生成c…