配置文件管理-Spring Cloud Config Github配置中心

本文介绍了如何使用SpringCloud Config在服务端从Gitee仓库读取配置,并在客户端消费这些配置,同时处理高并发场景。涉及pom.xml配置、@EnableConfigServer启用、Git配置、bootstrap.properties的使用及客户端代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.服务端读取gitee上的配置信息
在之前项目producer2基础上修改
(1)pom.xml加入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

(2)启动类加注解@EnableConfigServer
(3)在gitee.com创建仓库和文件
在这里插入图片描述
每个配置文件中都写一个属性springcloud.hello,属性值分别是 hello dev update/test/pro
比如springcloud-config-dev.properties写法如下
在这里插入图片描述

(4)applicaton.yml修改如下



  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/li-weiwen/my-test.git
          search-paths: chapter6/springcloud-config
          username: ****
          password: ****

//报错
If you are using the git profile, you need to set a Git URI in your configur
//解决方案:检查application.yml是否值那儿漏了空格
//比如
//错误写法
uri:https://gitee.com/li-weiwen/my-test.git
//正确写法
uri: https://gitee.com/li-weiwen/my-test.git

(5)启动项目,访问http://localhost:8088/springcloud-config/pro
或者http://localhost:8088/springcloud-config-dev.properties

2.客户端读取服务器配置信息

修改consumer2项目
(1)在和application.yml同级目录下创建bootstrap.properties
注意:spring.cloud.config.name上的必须和gitee上名字一样,比如说
springcloud-config-dev.properties在springcloud-config目录下,则spring.cloud.config.name的值就应该是springcloud-config

spring.cloud.config.name= springcloud-config
spring.cloud.config.profile=dev
spring.cloud.config.uri=http://localhost:8088/
spring.cloud.config.label=master

(2)引入依赖包

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

(3)修改HelloController类

	 @Autowired
	    HelloRemote helloRemote;
	 //注意:从gitee上读取到springcloud.hello=hello dev update Second
	  @Value("${springcloud.hello}")
	    private String readgitee;
	    @RequestMapping("/hello/{name}")
	    public String index(@PathVariable("name") String name) {
	        return helloRemote.hello(name)+this.readgitee;
	    }

(4)访问http://localhost:8028/hello/spring

3.高并发Spring Cloud Config

(1)consumers2项目helloController类上方加RefreshScope
(2)consumers2项目bootstrap.properties修改成

spring.application.name=spring-cloud-consumers
server.port=8028

spring.cloud.config.name=springcloud-config
spring.cloud.config.profile=dev
spring.cloud.config.label=master
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=spring-cloud-producer

eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

(3)输入网址:
http://localhost:8085/hello/spring

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值