书接上回
这次启动 consumer 测试拉取 配置中心 的配置属性
consumer 添加 pom 依赖 spring-cloud-client
<!--加入spring-boot-config-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
yml 添加 配置中心配置:
spring:
cloud:
config:
uri: http://localhost:82/
profile: dev
label: master
controller 添加获取属性的 方法
启动 配置中心
启动 consumer
翻车 起不来了 错误如下 告诉我 找不到这个属性 渣渣
爬官网 瞅了瞅
要在bootstrap.yml里面配置 配置中心的uri
只能告别心爱的application.yml 转成 bootstrap.yml
原因呢 也很简单
bootstrap.yml的优先级 大于 application.yml
我们读取配置中心的配置的时候 需要先去配置中心确定 有没有更新
所以需要 提前启动 不然 等到读 application的时候 默认就会读取本地的配置了
重启consumer
浏览 consumer testEurekaconfig
还是起不来
后来看日志才发现 我勒个去 文件名不匹配
name=consumer, profiles=[dev], label=master, version=79f8460d05c0ea192026299c478023b375191c70, state=null
consumer 自动去找自身的配置文件 所以文件名都是=服务名-dev.properties
而我的gitlab上的是config.properties
所以找不到
啥也不说了 改名字 改成consumer.properties(建议改成consumer-dev.properties 价格profile以免配置多的时候 搞错)
再重启 再试 就可以了
踩坑完毕。