Spring Cloud Config 配置中心使用说明(6) -- 服务器 配置文件格式

1. 配置文件的格式

接口返回默认的JSON格式对于Spring应用程序的使用是完美的,因为它直接映射到Environment类中。如果您喜欢,可以通过向资源路径中添加后缀(“.yml”、“.yaml”或“.properties”)来使用与YAML或Java属性相同的数据。这对于不使用JSON结构或其提供的额外的元数据的应用程序的使用是有用的,例如,不使用Spring的应用程序可能会受益于此方法的简单性。

YAML和properties文件有一个额外的属性(由布尔类型的查询参数resolvePlaceholders提供),以说明是否需要解析Spring ${…​}形式的占位符。这对于不了解Spring占位符的调用者来说是一个有用的功能。

使用YAML或properties文件式存在局限性,主要是与元数据的丢失有关。例如,JSON被构造为名称与源相同的有序列表。即使有多个源,YAML和properties文件也合并成一个map,并且原始源文件的名称丢失。同时,YAML不一定是后台存储库中YAML源的忠实呈现。它是由一个属性源列表聚合构建的,并且必须假定键的格式。

2 纯文本配置

您的应用程序可能不使用Environment类(或YAML、properties的表示格式),而是根据自己的环境需要的纯文本配置文件。配置服务器通过/{name}/{profile}/{label}/{path}接口提供这些服务,其中“name”,“profile”和“label”的含义与常规环境接口相同,但“path”是文件名(例如log.xml )。此接口定位文件的方式与环境接口相同。与properties或YAML文件相同的搜索路径。但是,不是聚合所有匹配的资源,只返回匹配的第一个。

资源定位后,使用Environment中的application name,profile和label来解析(${…​})的占位符。以这种方式,资源接口与环境接口紧密集成。

profile是用来定位文件名的。/*/development/*/logback.xml匹配到的文件是logback-development.xml(优先于logback.xml)

如果你不想指定label,可能通过添加请求参数useDefaultLabel来指示服务器使用默认label。因此,下面是访问defaultprofile的例子:/sample/default/nginx.conf?useDefaultLabel

2.1 git、svn和本地后端

假如您有一个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

那么/sample/default/master/nginx.conf资源如下所示:

server {
    listen              80;
    server_name         example.com;
}

和/sample/development/master/nginx.conf如下所示:

server {
    listen              80;
    server_name         develop.com;
}

2.2 解密文本

默认情况下,文本文件的加密值不会被解密。要启用解密功能,设置bootstrap.[yml|properties]文件中的spring.cloud.config.server.encrypt.enabled=true 和 spring.cloud.config.server.encrypt.plainTextEncrypt=true

解密文本文件功能只支持YAML、JSON和priperties后缀的文件。

如果开启了此功能,当请求不支持的文件类型时,里面的加密值不会被解密。

Spring Cloud Config 使用说明(1) – 快速开始
Spring Cloud Config 配置中心使用说明(2) – 服务器+git库
Spring Cloud Config 配置中心使用说明(3) – 服务器+文件存储
Spring Cloud Config 配置中心使用说明(4) – 服务器+数据库存储
Spring Cloud Config 配置中心使用说明(5) – 服务器健康与安全配置
Spring Cloud Config 配置中心使用说明(6) – 服务器 配置文件格式
Spring Cloud Config 配置中心使用说明(7) – 服务器 配置变更通知
Spring Cloud Config 配置中心使用说明(8) – 客户端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiegwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值