SpringBoot基础回顾

编程入门 行业动态 更新时间:2024-10-05 11:17:45

SpringBoot<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础回顾"/>

SpringBoot基础回顾

1.8 随机数设置及参数间引用


在Spring Boot配置文件中设置属性时,除了可以像前面示例中显示的配置属性值外,还可以使用随机值和参数间引用对属性值进行设置。下面,针对配置文件中这两种属性值的设置方式进行讲解

1.8.1随机值设置


在Spring Boot配置文件中,随机值设置使用到了Spring Boot内嵌的RandomValuePropertySource类,对一些隐秘属性值或者测试用例属性值进行随机值注入


随机值设置的语法格式为${random.xx},xx表示需要指定生成的随机数类型和范围,它可以生成随机的整数、uuid或字符串,示例代码如下


my.secret=${random.value}         // 配置随机值 my.number=${random.int}           // 配置随机整数my.bignumber=${random.long}      // 配置随机long类型数my.uuid=${random.uuid}            // 配置随机uuid类型数my.number.less.than.ten=${random.int(10)}    // 配置小于10的随机整数my.number.in.range=${random.int[1024,65536]}
// 配置范围在[1024,65536]之间的随机整数


上述代码中,使用RandomValuePropertySource类中random提供的随机数类型,分别展示了不同类型随机值的设置示例

1.8.2参数间引用


在Spring Boot配置文件中,配置文件的属性值还可以进行参数间的引用,也就是在后一个配置的属性值中直接引用先前已经定义过的属性,这样可以直接解析其中的属性值了。

使用参数间引用的好处就是,在多个具有相互关联的配置属性中,只需要对其中一处属性预先配置,其他地方都可以引用,省去了后续多处修改的麻烦


参数间引用的语法格式为${xx},xx表示先前在配置文件中已经配置过的属性名,示例代码如下


app.name=MyAppapp.description=${app.name} is a Spring
Boot application


上述参数间引用设置示例中,先设置了“app.name=MyApp”,将app.name属性的属性值设置为了MyApp;接着,在app.description属性配置中,使用${app.name}对前一个属性值进行了引用


接下来,通过一个案例来演示使用随机值设置以及参数间引用的方式进行属性设置的具体使用和效果,具体步骤如下


(1)打开Spring Boot项目resources目录下的application.properties配置文件,在该配置文件中分别通过随机值设置和参数间引用来配置两个测试属性,示例代码如下


# 随机值设置以及参数间引用配置tom.age=${random.int[10,20]}tom.description=tom的年龄可能是${tom.age}


在上述application.properties配置文件中,先使用随机值设置了tom.age属性的属性值,该属性值设置在了[10,20]之间,随后使用参数间引用配置了tom.description属性


(2)打开\项目的测试类,在该测试类中新增字符串类型的description属性,并将配置文件中的tom.description属性进行注入,然后新增一个测试方法进行输出测试,示例代码如下


@Value("${tom.description}")private String description;@Testpublic void placeholderTest() {System.out.println(description);}

上述代码中,通过@Value("${tom.description}")注解将配置文件中的tom.description属性值注入到了对应的description属性中,在测试方法placeholderTest()中对该属性值进行了输出打印。

执行测试方法placeholderTest() ,查看控制台输出效果


可以看出,测试方法placeholderTest()运行成功,并打印出了属性description的注入内容,该内容与配置文件中配置的属性值保持一致。接着,重复执行测试方法placeholderTest(),查看控制台输出语句中显示的年龄就会在[10,20]之间随机显示

上了拉勾教育的《Java工程师高薪训练营》,做一下笔记。希望拉勾能给我推到想去的公司,目标:字节!!

更多推荐

SpringBoot基础回顾

本文发布于:2024-02-14 13:24:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763493.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   SpringBoot

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!