服务纯文本
优质
小牛编辑
135浏览
2023-12-01
您的应用程序可能需要通用的纯文本配置文件,而不是使用Environment
抽象(或YAML中的其他替代表示形式或属性格式)。配置服务器通过/{name}/{profile}/{label}/{path}
附加的端点提供这些服务,其中“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 )。 |