1. 程式人生 > >springBoot(2):Properties和YAML配置文件

springBoot(2):Properties和YAML配置文件

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. [email protected]@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配置文件