yml與properties
其實yml和properties文件是一樣的原理,且一個項目上要么yml或者properties,二選一的存在。
推薦使用yml,更簡潔。
bootstrap與application
1.加載順序
這里主要是說明application和bootstrap的加載順序。
•bootstrap.yml(bootstrap.properties)先加載
•application.yml(application.properties)后加載
bootstrap.yml 用于應用程序上下文的引導階段。
bootstrap.yml 由父spring applicationcontext加載。
父applicationcontext 被加載到使用 application.yml 的之前。
2.配置區別
bootstrap.yml 和application.yml 都可以用來配置參數。
•bootstrap.yml 可以理解成系統級別的一些參數配置,這些參數一般是不會變動的。
•application.yml 可以用來定義應用級別的,如果搭配 spring-cloud-config 使用 application.yml 里面定義的文件可以實現動態替換。
使用spring cloud config server時,應在 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 |
當使用spring cloud時,通常從服務器加載“real”配置數據。為了獲取url(和其他連接配置,如密碼等),您需要一個較早的或“bootstrap”配置。因此,您將配置服務器屬性放在bootstrap.yml中,該屬性用于加載實際配置數據(通常覆蓋application.yml [如果存在]中的內容)。
當然,在一些情況上不用那么區分這兩個文件,你只需要使用application文件即可,把全部選項都寫在這里,效果基本是一致的,在不考慮上面的加載順序覆蓋的問題上。
總結
以上所述是小編給大家介紹的spring boot 中application.yml與bootstrap.yml的區別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://blog.csdn.net/msg1122/article/details/80117487