Spring Boott基础教程三:配置文件详解:Properties和YAML

目录

1、配置文件的生效顺序,会对值进行覆盖:

2、配置随机值

3、属性占位符

4、Application属性文件,按优先级排序,位置高的将覆盖位置低的

5、配置应用端口和其他配置的介绍

6、使用YAML代替Properties


1、配置文件的生效顺序,会对值进行覆盖:

  • 1. @TestPropertySource 注解
    • 2. 命令行参数
    • 3. Java系统属性(System.getProperties())
    • 4. 操作系统环境变量
    • 5. 只有在random.*里包含的属性会产生一个RandomValuePropertySource
    • 6. 在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量)
    • 7. 在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
    • 8. 在@Configuration类上的@PropertySource注解
    • 9. 默认属性(使用SpringApplication.setDefaultProperties指定)

2、配置随机值

roncoo.secret=${random.value}

roncoo.number=${random.int}

roncoo.bignumber=${random.long}

roncoo.number.less.than.ten=${random.int(10)}

roncoo.number.in.range=${random.int[1024,65536]}

读取使用注解:@Value(value = "${roncoo.secret}")

注:出现黄点提示,是要提示配置元数据,可以不配置

3、属性占位符

当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。

roncoo.name = www.roncoo.com

roncoo.desc = ${roncoo.name} is a domain name

4、Application属性文件,按优先级排序,位置高的将覆盖位置低的

  • 1. 当前目录下的一个/config子目录
    • 2. 当前目录
    • 3. 一个classpath下的/config包
    • 4. classpath根路径(root)

这个列表是按优先级排序的(列表中位置高的将覆盖位置低的)

5、配置应用端口和其他配置的介绍

#端口配置:
server.port=8090
#时间格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#时区设置
spring.jackson.time-zone=Asia/Chongqing

6、使用YAML代替Properties

注意写法:冒号后要加个空格

 

 

 

 

 

 

 

发布了632 篇原创文章 · 获赞 758 · 访问量 51万+

猜你喜欢

转载自blog.csdn.net/songzi1228/article/details/104006024