bootstrap.yml、bootstrap-dev.yml?和 bootstrap-prod.yml?是 Spring Cloud Config 的配置文件,用于獲取配置信息并將其應(yīng)用到應(yīng)用程序中。它們之間的區(qū)別在于它們被加載的順序和用途,主要用于不同環(huán)境下的配置管理。
1. bootstrap.yml
? ? ? bootstrap.yml?是 Spring Cloud Config 中用于獲取外部配置的特殊配置文件。它的加載優(yōu)先級比其他配置文件(如 application.yml 或 application.properties)更高。
? ? ? bootstrap.yml?主要用于加載一些啟動階段需要用到的配置信息,例如連接到 Spring Cloud Config Server 的配置、加密/解密信息、連接到外部數(shù)據(jù)庫的配置等。因為這些配置信息在應(yīng)用程序啟動的早期階段就需要用到,所以放在 bootstrap.yml?中確保它們在其他配置之前加載。
? ? ? bootstrap.yml?不會被本地配置文件覆蓋,它的優(yōu)先級更高,確保這些關(guān)鍵配置的安全性和準(zhǔn)確性。
2. bootstrap-dev.yml
? ? ? ?bootstrap-dev.yml?是 bootstrap.yml?的一個特定的開發(fā)環(huán)境 profile,用于在開發(fā)環(huán)境下加載特定的外部配置信息。
? ? ? 在開發(fā)環(huán)境中,可能需要與生產(chǎn)環(huán)境不同的配置,例如連接到不同的數(shù)據(jù)庫、使用不同的服務(wù)地址等。通過使用 `bootstrap-dev.yml` 可以輕松地區(qū)分開發(fā)環(huán)境和其他環(huán)境的配置。
? ? ? 當(dāng)在開發(fā)環(huán)境啟動應(yīng)用程序時,Spring Cloud Config 將會加載 `bootstrap.yml` 和 `bootstrap-dev.yml` 的配置,并根據(jù)當(dāng)前激活的 profile(如通過 `spring.profiles.active` 屬性指定)加載對應(yīng)的配置。
3. bootstrap-prod.yml
? ? ? ?bootstrap-prod.yml?是 bootstrap.yml?的一個特定的生產(chǎn)環(huán)境 profile,用于在生產(chǎn)環(huán)境下加載特定的外部配置信息。
? ? ? 在生產(chǎn)環(huán)境中,可能需要與開發(fā)環(huán)境或其他環(huán)境不同的配置,例如連接到不同的生產(chǎn)數(shù)據(jù)庫、啟用更高級別的日志記錄等。通過使用 `bootstrap-prod.yml` 可以確保生產(chǎn)環(huán)境的配置與其他環(huán)境隔離。
? ? ? 當(dāng)在生產(chǎn)環(huán)境啟動應(yīng)用程序時,Spring Cloud Config 將會加載 `bootstrap.yml` 和 `bootstrap-prod.yml` 的配置,并根據(jù)當(dāng)前激活的 profile(如通過 `spring.profiles.active` 屬性指定)加載對應(yīng)的配置。
4.使用
bootstrap.yml,生產(chǎn)環(huán)境下加載特定的外部配置信息(即指定加載哪一個環(huán)境的配置信息)
spring:
profiles:
active: dev #指定加載bootstrap-dev.yml的配置信息
# active: prod 指定加載bootstrap-prod.yml的配置信息
include: commonweb,dev
bootstrap-dev.yml
server:
port: 8080
spring:
application:
name: mom-part
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yaml
group: DEFAULT_GROUP
inetutils:
preferred-networks: localhost
# 允許@FeignClient同名
main:
allow-bean-definition-overriding: true
logstash:
server-addr: localhost:5048
log:
level: INFO
bootstrap-prod.yml文章來源:http://www.zghlxwxcb.cn/news/detail-706400.html
server:
port: 8080
spring:
application:
name: mom-oe
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yaml
group: DEFAULT_GROUP
namespace: production
# 允許@FeignClient同名
main:
allow-bean-definition-overriding: true
# 覆蓋common-web包下logstash服務(wù)地址和日志級別
logstash:
server-addr: localhost:5048
log:
level: INFO
總結(jié):
bootstrap.yml?是 Spring Cloud Config 用于獲取外部配置的高優(yōu)先級配置文件,在應(yīng)用程序啟動早期加載,并不會被本地配置覆蓋。
bootstrap-dev.yml?是 bootstrap.yml 的一個特定開發(fā)環(huán)境的 profile,用于在開發(fā)環(huán)境下加載特定的外部配置信息,通過激活不同的 profile 加載對應(yīng)的配置。
bootstrap-prod.yml是 bootstrap.yml?的一個特定生產(chǎn)環(huán)境的 profile,用于在生產(chǎn)環(huán)境下加載特定的外部配置信息,通過激活不同的 profile 加載對應(yīng)的配置。文章來源地址http://www.zghlxwxcb.cn/news/detail-706400.html
到了這里,關(guān)于聊聊開發(fā)中常見幾種Spring Cloud Config 的配置文件bootstrap.yml、bootstrap-dev.yml 和 bootstrap-prod.yml的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!