资讯专栏INFORMATION COLUMN

Spring Cloud 参考文档(Spring Cloud Config快速入门)

gekylin / 1052人阅读

摘要:快速入门这个快速入门使用的服务器和客户端。属性在端点中显示为高优先级属性源,如以下示例所示。名为的属性源包含值为且具有最高优先级的属性。属性源名称中的是存储库,而不是配置服务器。

Spring Cloud Config快速入门

这个快速入门使用Spring Cloud Config Server的服务器和客户端。

首先,启动服务器,如下所示:

</>复制代码

  1. $ cd spring-cloud-config-server
  2. $ ../mvnw spring-boot:run

服务器是一个Spring Boot应用程序,因此如果你愿意,可以从IDE运行它(主类是ConfigServerApplication)。

接下来尝试一个客户端,如下所示:

</>复制代码

  1. $ curl localhost:8888/foo/development
  2. {"name":"foo","label":"master","propertySources":[
  3. {"name":"https://github.com/scratches/config-repo/foo-development.properties","source":{"bar":"spam"}},
  4. {"name":"https://github.com/scratches/config-repo/foo.properties","source":{"foo":"bar"}}
  5. ]}

定位属性源的默认策略是克隆git存储库(在spring.cloud.config.server.git.uri)并使用它来初始化一个微型SpringApplication,微型应用程序的Environment用于枚举属性源并在JSON端点发布它们。

HTTP服务具有以下形式的资源:

</>复制代码

  1. /{application}/{profile}[/{label}]
  2. /{application}-{profile}.yml
  3. /{label}/{application}-{profile}.yml
  4. /{application}-{profile}.properties
  5. /{label}/{application}-{profile}.properties

其中,application作为SpringApplication中的spring.config.name注入(常规Spring Boot应用程序中的正常application),profile是一个活动的配置文件(或以逗号分隔的属性列表),label是一个可选的git标签(默认为master)。

Spring Cloud Config Server从git存储库(必须提供)中提取远程客户端的配置,如以下示例所示:

</>复制代码

  1. spring:
  2. cloud:
  3. config:
  4. server:
  5. git:
  6. uri: https://github.com/spring-cloud-samples/config-repo
客户端使用

要在应用程序中使用这些功能,你可以将其构建为依赖于spring-cloud-config-client的Spring Boot应用程序(例如,请参阅config-client或示例应用程序的测试用例)。添加依赖项最方便的方法是使用Spring Boot启动器org.springframework.cloud:spring-cloud-starter-config,还有一个用于Maven用户的父pom和BOM(spring-cloud-starter-parent)以及一个用于Gradle和Spring CLI用户的Spring IO版本管理属性文件,以下示例显示了典型的Maven配置:

</>复制代码

  1. org.springframework.boot
  2. spring-boot-starter-parent
  3. {spring-boot-docs-version}
  4. org.springframework.cloud
  5. spring-cloud-dependencies
  6. {spring-cloud-version}
  7. pom
  8. import
  9. org.springframework.cloud
  10. spring-cloud-starter-config
  11. org.springframework.boot
  12. spring-boot-starter-test
  13. test
  14. org.springframework.boot
  15. spring-boot-maven-plugin

现在你可以创建一个标准的Spring Boot应用程序,例如以下HTTP服务器:

</>复制代码

  1. @SpringBootApplication
  2. @RestController
  3. public class Application {
  4. @RequestMapping("/")
  5. public String home() {
  6. return "Hello World!";
  7. }
  8. public static void main(String[] args) {
  9. SpringApplication.run(Application.class, args);
  10. }
  11. }

当此HTTP服务器运行时,它从端口8888上的默认本地配置服务器(如果它正在运行)中获取外部配置,要修改启动行为,可以使用bootstrap.properties更改配置服务器的位置(类似于application.properties但适用于应用程序上下文的bootstrap阶段),如以下示例所示:

</>复制代码

  1. spring.cloud.config.uri: http://myconfigserver.com

默认情况下,如果未设置应用程序名称,则将使用application,要修改名称,可以将以下属性添加到bootstrap.properties文件中:

</>复制代码

  1. spring.application.name: myapp

</>复制代码

  1. 设置属性${spring.application.name}时,不要在应用程序名称前加上保留字application-,以防止解析正确属性源的问题。

bootstrap属性在/env端点中显示为高优先级属性源,如以下示例所示。

</>复制代码

  1. $ curl localhost:8080/env
  2. {
  3. "profiles":[],
  4. "configService:https://github.com/spring-cloud-samples/config-repo/bar.properties":{"foo":"bar"},
  5. "servletContextInitParams":{},
  6. "systemProperties":{...},
  7. ...
  8. }

名为configService:/的属性源包含值为bar且具有最高优先级的foo属性。

</>复制代码

  1. 属性源名称中的URL是git存储库,而不是配置服务器URL。
上一篇:Spring Cloud Commons:通用的抽象 下一篇:Spring Cloud Config Server

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77585.html

相关文章

  • Spring Cloud 参考文档Spring Cloud Config Server)

    摘要:,这是标记配置文件集版本化的服务器端特性。要配置对称密钥,需要将设置为秘密字符串或使用环境变量将其排除在纯文本配置文件之外。 Spring Cloud Config Server Spring Cloud Config Server为外部配置提供基于HTTP资源的API(名称—值对或等效的YAML内容),通过使用@EnableConfigServer注解,服务器可嵌入Spring Bo...

    harryhappy 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0
  • Spring Cloud 快速入门

    摘要:服务注册中心一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现。在客户端实现了负载均衡。 文章参考于史上最简单的 SpringCloud 教程 | 终章 Spring Cloud 是一个微服务框架,与 Spring Boot 结合,开发简单。将一个大工程项目,分成多个小 web 服务工程,可以分别独立扩展,又可以共同合作。 环境 ...

    fuyi501 评论0 收藏0
  • Spring Cloud Alibaba基础教程:使用Nacos作为配置中心

    摘要:通过本教程的前两篇基础教程使用实现服务注册与发现基础教程支持的几种服务消费方式我们已经学会了,如何利用实现服务的注册与发现。简介除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。同时,值必须与上一阶段中创建的配置匹配除了或者后缀。 通过本教程的前两篇: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Ali...

    CHENGKANG 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<