yml與properties
其實yml和properties文件是一樣的原理,且一個項目上要么yml或者properties,二選一的存在。
推薦使用yml,更簡潔。
bootstrap與application
1.加載順序
這里主要是說明application和bootstrap的加載順序。
•bootstrap.yml(bootstrap.properties)先加載
•application.yml(application.properties)后加載
bootstrap.yml 用于應(yīng)用程序上下文的引導(dǎo)階段。
bootstrap.yml 由父spring applicationcontext加載。
父applicationcontext 被加載到使用 application.yml 的之前。
2.配置區(qū)別
bootstrap.yml 和application.yml 都可以用來配置參數(shù)。
•bootstrap.yml 可以理解成系統(tǒng)級別的一些參數(shù)配置,這些參數(shù)一般是不會變動的。
•application.yml 可以用來定義應(yīng)用級別的,如果搭配 spring-cloud-config 使用 application.yml 里面定義的文件可以實現(xiàn)動態(tài)替換。
使用spring cloud config server時,應(yīng)在 bootstrap.yml 中指定:
1
2
|
spring.application.name spring.cloud.config.server.git.uri |
3.一些加密/解密信息
實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
bootstrap.yml spring: application: name: service-a cloud: config: uri: http: //127.0.0.1:8888 fail-fast: true username: user password: ${config_server_password:password} retry: initial-interval: 2000 max-interval: 10000 multiplier: 2 max-attempts: 10 |
當(dāng)使用spring cloud時,通常從服務(wù)器加載“real”配置數(shù)據(jù)。為了獲取url(和其他連接配置,如密碼等),您需要一個較早的或“bootstrap”配置。因此,您將配置服務(wù)器屬性放在bootstrap.yml中,該屬性用于加載實際配置數(shù)據(jù)(通常覆蓋application.yml [如果存在]中的內(nèi)容)。
當(dāng)然,在一些情況上不用那么區(qū)分這兩個文件,你只需要使用application文件即可,把全部選項都寫在這里,效果基本是一致的,在不考慮上面的加載順序覆蓋的問題上。
總結(jié)
以上所述是小編給大家介紹的spring boot 中application.yml與bootstrap.yml的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
原文鏈接:https://blog.csdn.net/msg1122/article/details/80117487