标签:springboot 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(2):Properties和YAML配置文件
标签:springboot springboot的properties和yaml配置文件
原文地址:http://1754966750.blog.51cto.com/7455444/1934134