当前位置: 代码网 > it编程>编程语言>Java > Spring Cloud Config 配置中心使用指南

Spring Cloud Config 配置中心使用指南

2026年03月20日 Java 我要评论
spring cloud config 是一个强大的分布式配置中心,用于集中管理微服务架构中的配置信息。它支持多种配置源,如 git、本地文件系统、数据库等,并提供配置的动态刷新功能。本文将详细介绍如

spring cloud config 是一个强大的分布式配置中心,用于集中管理微服务架构中的配置信息。它支持多种配置源,如 git、本地文件系统、数据库等,并提供配置的动态刷新功能。本文将详细介绍如何搭建和使用 spring cloud config。

一、搭建配置中心(config server)

1. 创建 config server 项目

使用 spring initializr 创建一个 spring boot 项目,添加以下依赖:

<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-config-server</artifactid>
</dependency>

2. 启用 config server

在项目的主类上添加 @enableconfigserver 注解:

@springbootapplication
@enableconfigserver
public class configserverapplication {
    public static void main(string[] args) {
        springapplication.run(configserverapplication.class, args);
    }
}

3. 配置 git 仓库

application.ymlapplication.properties 文件中配置 git 仓库地址:

server:
  port: 8888

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/your-repo/config-repo.git
          search-paths: '{application}'  # 按应用名查找目录
          label: master  # 默认分支

4. 启动 config server

运行项目后,访问 http://localhost:8888/{application}/{profile},例如:

curl http://localhost:8888/config/dev

这将返回对应应用和环境的配置信息。

二、配置客户端(config client)

1. 添加依赖

在客户端项目中添加以下依赖:

<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-config</artifactid>
</dependency>

2. 配置客户端

在客户端项目的 bootstrap.yml 文件中配置 config server 的地址和环境:

spring:
  application:
    name: config-client
  cloud:
    config:
      uri: http://localhost:8888
      profile: dev
      label: master

bootstrap.yml 的加载优先级高于 application.yml,因此适合用于加载外部配置。

3. 使用配置

在客户端项目中,可以直接通过 @value@configurationproperties 注解使用配置中心的配置信息。例如:

@restcontroller
public class configclientcontroller {
    @value("${config.info}")
    private string configinfo;

    @getmapping("/config")
    public string getconfig() {
        return configinfo;
    }
}

三、核心功能

1. 配置文件的命名规则

spring cloud config 支持以下几种资源路径:

  • /{application}-{profile}.yml
  • /{label}/{application}-{profile}.yml
  • /{application}/{profile}[/{label}]

例如:

  • http://localhost:8888/config-client/dev:获取 config-client-dev.yml 文件的配置。
  • http://localhost:8888/master/config-client-dev.yml:指定分支 master。

2. 配置加密与安全

为了保护敏感信息,spring cloud config 支持加密配置:

  1. 配置加密密钥:
    encrypt:
      key: my-secret-key
    
  2. 加密数据:
    curl http://localhost:8888/encrypt -d "secret123"
    
  3. 使用密文:
    datasource:
      password: '{cipher}密文字符串'
    

3. 动态配置刷新

客户端可以通过调用 /actuator/refresh 端点来刷新配置:

  1. 添加 actuator 依赖:
    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-actuator</artifactid>
    </dependency>
    
  2. 暴露 refresh 端点:
    management:
      endpoints:
        web:
          exposure:
            include: refresh
    
  3. 调用刷新接口:
    post http://localhost:8080/actuator/refresh
    

四、多环境支持

spring cloud config 支持多环境配置,通过 spring.profiles.active 指定环境。例如:

  • config-client-dev.yml:开发环境配置
  • config-client-prod.yml:生产环境配置

客户端可以通过设置 spring.profiles.active 来加载对应环境的配置。

五、总结

spring cloud config 提供了一个集中化的配置管理解决方案,支持多种配置源、动态刷新和多环境配置。通过简单的配置和依赖添加,即可快速搭建配置中心和客户端。它不仅简化了配置管理的复杂性,还提高了系统的灵活性和可维护性。

到此这篇关于spring cloud config 配置中心使用指南的文章就介绍到这了,更多相关spring cloud config 配置中心内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com