Spring Boot基礎-配置檔案詳解:Properties和YAML
Spring Boot基礎教程1-Spring Tool Suite工具的安裝
Spring Boot基礎教程2-RESTfull API簡單專案的快速搭建
Spring Boot基礎教程3-配置檔案詳解:Properties和YAML
Spring Boot基礎教程5-日誌配置-logback和log4j2
視訊教程:http://www.roncoo.com/course/view/c99516ea604d4053908c1768d6deee3d
原始碼地址:https://github.com/roncoo/spring-boot-demo
一.配置檔案的生效順序,會對值進行覆蓋:
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屬性檔案,按優先順序排序,位置高的將覆蓋位置低的
1.當前目錄下的一個/config子目錄
2.當前目錄
3.一個classpath下的/config包
4. classpath根路徑(root)
這個列表是按優先順序排序的(列表中位置高的將覆蓋位置低的 )
五.配置應用埠和其他配置的介紹
#埠配置:
server.port=8090
#時間格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#時區設定
spring.jackson.time-zone=Asia/Chongqing
六.使用YAML代替Properties
注意寫法:冒號後要加個空格