码迷,mamicode.com
首页 > 编程语言 > 详细

spring-cloud-config-server——Environment Repository

时间:2017-12-05 22:43:24      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:https   code   cloud   应用程序   maps   功能   1.4   环境   引导   

参考资料:

  https://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.4.0.RELEASE/single/spring-cloud-config.html

  http://cloud.spring.io/spring-cloud-static/Camden.SR7/#_environment_repository

Environment Repository——环境库

  你要在哪里存储Config Server的配置数据呢?管理这种行为的策略是为Enviroment对象提供服务的EnvironmentRepository。这个Enviroment是Spring Environment域的一个浅层副本(包括propertySources作为主要功能)。Environment资源由三个变量参数化:

  1. {application} maps to "spring.application.name" on the client side;——{application}映射到客户端的"spring.application.name";
  2. {profile} maps to "spring.profiles.active" on the client (comma separated list);——{profile}映射到客户端的 "spring.profiles.active"(逗号分割列表);
  3. {label} which is a server side feature labelling a "versioned" set of config files.——{label}是服务端功能,标记"版本化"的配置文件集。

  版本库实现通常像Spring Boot应用程序一样从“spring.config.name”加载配置文件,等同于{application}参数,而“spring.profiles.active”等同于{profiles}参数。配置文件的优先级规则也与常规的Boot应用程序中的规则相同:活动配置文件优先于默认配置,并且如果有多个配置文件,则最后一个配置文件将胜出(如向Map添加条目)。

  例如,客户端应用程序具有此引导配置:

  bootstrap.yml

spring:
  application:
    name: foo
  profiles:
    active: dev,mysql

  (通常使用Spring Boot应用程序,这些属性也可以设置为环境变量或命令行参数)

  如果存储库是基于文件的,则服务器将从application.yml(所有客户端之间共享)和foo.yml(以yoo.yml优先)创建一个Environment。如果YAML文件中有指向Spring配置文件的文档,那么这些文件将以更高的优先级(按列出的配置文件的顺序)应用,如果有特定于配置文件的YAML(或属性)文件,则这些文件的优先级高于默认值。较高的优先级转换为Environment之前列出的PropertySource.(这些规则于独立的Spring Boot应用程序相同)。

spring-cloud-config-server——Environment Repository

标签:https   code   cloud   应用程序   maps   功能   1.4   环境   引导   

原文地址:http://www.cnblogs.com/shea/p/7989651.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!