19、springboot引用配置属性或引用生成文件的属性或引用随机值

引用配置属性或引用生成文件的属性或引用随机值

★ 使用占位符引用其他配置属性:

配置文件中可用${}占位符引用已有的属性,被引用的属性可以是:
- 已定义的属性。
- 来自其他配置源(比如命令行的选项参数、环境变量、系统属性等)。

好处:提高了配置文件的可维护性。

代码示例

步骤:
1、在application.yml配置文件中使用${}这种占位符来引用已有的属性。
2、已有的属性有appName,然后下一个appDescription就可以引用appName。目的就是提高配置的可维护性,比如appDescription中的占位符引用需要和appName保持一致时,就需要使用到占位符来引用,appName一修改,appDescription 中的占位符引用也跟着修改。不用说改两次。
3、可以看出在Program arguments中设置的命令行选项参数,在项目启动后,会把数据传递到application.yml的" ${port} " 这个占位符这里。
提示:我在application.yml 和 application.properties 两个配置文件都添加了端口号,发现是以yml 配置文件的为主。
4、然后创建一个类,用@Value注解获取配置文件中的属性值,然后写一个方法看是否能成功通过" ${} "这个占位符引用 拿到数据。
19、springboot引用配置属性或引用生成文件的属性或引用随机值_第1张图片

★ 引用构建文件中的属性

▲  Maven构建工具: 使用  @属性名@  引用pom.xml文件中的配置属性:

pom.xml文件是项目的生成文件。


▲ Gradle 构建工具

在build.gradle文件中增加如下配置:
// 配置Java插件的processResources Task
processResources {
expand(project.properties)
}
接下来即可在配置文件中通过“${属性名}”的形式引用build.gradle文件中的属性。
此时,原有的占位符格式需要进行转义:\${..}。

★ 使用随机值

有些时候(比如出于测试目的),项目需要某些值,但不想使用固定的值,而是直接使用某个随机值,
此时就可以借助于Spring Boot随机值配置的方式。

其格式类似于占位符: ${random.xxx}

random就是Spring容器中RandomValuePropertySource Bean,

因此random能使用哪些属性完全取决于RandomValuePropertySource 的API.

▲ random可生成随机的整数值,随机UUID

   【注意:】相当于是Spring Boot一个小bug,当你用int()或者long()来生成带范围的随机值时,
             用于分割范围的逗号的前后都不能有空格。

代码示例:引用pom.xml文件和引用随机值

19、springboot引用配置属性或引用生成文件的属性或引用随机值_第2张图片
在这里插入图片描述

总结:【配置文件中引用其他属性】:

 A。 用占位符引用已有的配置属性。  ${}

 B. 引用生成文件中的配置属性。

    Maven: @属性@
    Gradle:  ${}, 此时对占位符引用要进行转义。

 C. 引用随机值。 ${random.int|long|uuid}

你可能感兴趣的:(springboot,开发语言,java,spring,boot)