springBoot:Properties和YAML配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springBoot:Properties和YAML配置文件相关的知识,希望对你有一定的参考价值。

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

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指定)

二、配置随机值

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}")

 

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

三、配置属性占位符

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

roncoo.name=www.roncoo.com

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


例子:

  技术分享

application.properties配置文件:

##################################服务器配置##################################
server.port = 80
server.tomcat.uri-enconding = UTF-8
##################################随机数配置##################################
#32位的随机数
roncoo.secret=${random.value}
#数字随机数
roncoo.number=${random.int}
roncoo.number2.less.than.ten=${random.int(10)}
roncoo.number3.in.range=${random.int[1024,65536]}
##################################配属性占位符配置##################################
roncoo.name=zhangsan
roncoo.desc=${roncoo.name} is a domain name



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

1. 当前目录下的一个/config子目录

2. 当前目录

3. 一个classpath下的/config包

4. classpath根路径(root)

 

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


例子,基于上面例子,复制一份application.properties配置文件放在classpath下的/config包下,如下:

技术分享

技术分享

五. 配置应用端口和其他配置的介绍

#端口配置:

server.port=8090

#时间格式化

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

#时区设置(亚洲重庆)

spring.jackson.time-zone=Asia/Chongqing


注意:默认的时区不是中国的,上面配置的是亚洲重庆


如果设置时区时:

 技术分享

设置时区为亚洲重庆:

 技术分享



六. 使用YAML代替Properties

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

本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1934134

以上是关于springBoot:Properties和YAML配置文件的主要内容,如果未能解决你的问题,请参考以下文章

spring boot中的底层配置文件application.yam(application.property)的装配原理初探

SpringBoot蹇呯煡蹇呬細-yaml鍩虹璇硶

springboot加载properties和yml配置文件的顺序

springboot:springboot的配置(yaml文件方式和properties文件方式)

一目了然之SpringBoot中yml和properties配置文件

SpringBoot中properties和yml的区别