客户端从config上获取配置
剛剛給大家簡單演示了一下config 以及怎么讀取配置, 不過實際開發中,更多的不是我們人為去獲取,而是由微服務從config上加載配置, 那么, 怎么來加載呢?
首先,我們需要在我們的微服務加入一個依賴聲明他是config的客戶端:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>需要注意的是,這個依賴不包括spring -boot依賴, 也就是說, 假設你這個項目要當作spring boot來啟動的話, 還得依賴spring boot
啟動類不需要做改動, 標準的spring boot啟動類即可
需要注意的是yml文件
以前我們對于spring boot的配置 是在application.yml里面配置的,現在從config上讀取配置的話,還得需要一個bootstrap.yml配置文件
解釋一下這個bootstrap.yml:
spring cloud有一個“引導上下文"的概念,這是主應用程序的父上下文。引導上下文負責從配置服務器加載配置屬性,以及解密外部配置文件中的屬性。和主應用程序加載application.(yml或 properties)中的屬性不同,引導上下文加載(bootstrap.)中的屬性。配置在 bootstrap.*中的屬性有更高的優先級,因此默認情況下它們不能被本地配置
那么我們application.yml配置文件里面 只需要做一些簡單的配置就可以了:
spring:application:name: test-config重點在于bootstrap.yml:
spring: cloud: config: name: test-config #這是我們要讀取的配置文件名 對應獲取規則的{application} profile: dev #這個是要獲取的環境 對應的便是{profile} label: master #這個就是獲取的節點 對應的是{label} uri: http://localhost:8080/ #這就是我們config server的一個地址那么 他就會獲取到我們剛剛看到的那個配置:
server:port: 8201spring:profiles: devapplication:name: test-cloud-dev-2.0我們來測試一下 看看他會不會使用這個8201端口啟動
這里 我們查看啟動信息,能發現他現在使用的是我們從config server上讀取到的配置。
?
總結
以上是生活随笔為你收集整理的客户端从config上获取配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么使用config?
- 下一篇: sleuth介绍