Spring Cloud
英语文化交流 > 技术博客 > Spring Cloud
Spring Cloud
时间:2017-10-12 13:42:55 自定义引导属性源 分类:技术博客

引 导 过 程 添 加 的 外 部 配 置 的 默 认 属 性 源 是 Config Server,但 您 可 以 通 过 将 PropertySourceLocator类 型 的 bean添 加 到 引 导 上 下 文 (通 过 spring.factories)添 加 其 他 源 。您 可 以 使 用 此 方 法 从 其 他 服 务 器 或 数 据 库 中 插 入 其 他 属 性 。

作 为 一 个 例 子 ,请 决 定 以 下 微 不 足 道 的 自 定 义 定 位 器 :

@Configuration
public class CustomPropertySourceLocator implements PropertySourceLocator {
    @Override
    public PropertySource<?> locate(Environment environment) {
        return new MapPropertySource("customProperty",
                Collections.<String, Object>singletonMap("property.from.sample.custom.source", "worked as intended"));
    }
}

传 入 的 Environment是 要 创 建 的 ApplicationContextEnvironment,即 为 我 们 提 供 额 外 的 属 性 来 源 的 。它 将 已 经 具 有 正 常 的 Spring Boot提 供 的 资 源 来 源 ,因 此 您 可 以 使 用 它 们 来 定 位 特 定 于 此 Environment的 属 性 源 (例 如 通 过 将 其 绑 定 在 spring.application.name上 ,如 在 默 认 状 况 下 所 做 的 那 样 Config Server属 性 源 定 位 器 )。

假 如 你 在 这 个 类 中 创 建 一 个 jar,然 后 添 加 一 个 META-INF/spring.factories包 含 :

org.springframework.cloud.bootstrap.BootstrapConfiguration=sample.custom.CustomPropertySourceLocator

那 么 “customProperty”PropertySource将 显 示 在 其 类 路 径 中 包 含 该 jar的 任 何 应 用 程 序 中 。

更 多 资 料 和 来 源 查 看

随机阅读

Copyright © 2017 英语文化交流 All Rights Reserved.