《Spring Cloud Config官方文件》之提供純文字
阿新 • • 發佈:2018-12-23
7. 提供純文字
而不是使用Environment
抽象(或YAML或其他屬性格式中的替代表示形式),應用程式可能需要通用的純文字配置檔案,並且是針對其環境來定製。配置伺服器通過/{name}/{profile}/{label}/{path}
在“名稱”,“配置檔案”和“標籤”與常規環境節點具有相同含義的位置處提供了這些附加節點,但“路徑”是檔名(例如log.xml
)。此節點的原始檔與環境節點的位置相同:使用屬性或YAML檔案相同的搜尋路徑,但不會彙總所有匹配的資源,並且只返回第一個匹配的資源。
找到資源後,正常格式(${…}
)中的佔位符將使用Environment
提供的應用程式名稱,配置檔案和有效的標籤來解析。通過這種方式,資源節點與環境節點緊密整合。例如,如果您擁有GIT(或SVN)儲存庫的此佈局,請執行以下操作:
application.yml
nginx.conf
這裡nginx.conf
看起來是這樣的:
server {
listen 80;
server_name ${nginx.server.name};
}
而application.yml
像這樣:
nginx:
server:
name: example.com
---
spring:
profiles: development
nginx:
server:
name: develop.com
那麼/foo/default/master/nginx.conf
server {
listen 80;
server_name example.com;
}
而/foo/development/master/nginx.conf
像這樣:
server {
listen 80;
server_name develop.com;
}
就像環境配置的原始檔一樣,“配置檔案”用於解析檔名,所以如果你想要一個特定的配置檔案,那麼
/*/development/*/logback.xml
將被稱為logback-development.xml
(優先logback.xml
)的檔案解決。如果您不想提供label並讓伺服器使用預設標籤,則可以提供一個
useDefaultLabel
請求引數。所以,上面的default
配置檔案的例子可能看起來像/foo/default/nginx.conf?useDefaultLabel
。