SpringCloudConfig配置中心Client端加载文件不成功问题
作者:互联网
远程配置加载失败
CongfigServer默认地址为http://localhost:8888,如果与你配置的地址不一致表示不成功,控制台前几行会打印提示但不会抛出异常,如下图:
远程配置加载成功
http://192.168.0.126:8092/是我配置的CongfigServer服务,启动SpringBoot首行出现Fetching config from server at : http://192.168.0.126:8092/表示已经成功加载到SpringCloudConifg的配置,如下图:
确认ConfigServer是否配置成功
首先确认ConfigServer配置成功
第一次配置可能会出现以下一些坑,请注意:
1、无法解析花括号中的占位符,出现这个异常很显然是因为配置文件中没有与之匹配的键,可查看resources文件夹下application[yml/properties]文件或者bootstrap[yml/properties]文件里有没有,如果你ConfigServer里面配置的有该键并且Congfig加载成功了,请检查bootstrap.yml配置。
以下bootstrap.yml配置仅供参考
spring:
application:
#应用名称
name: superscene-user-center
cloud:
config:
#配置文件名称
name: superscene-user-center
#读取后缀名称
profile: test
discovery:
#开启
enabled: true
#注册中心SpringCloud Config Server的名称
service-id: superscene-config
#分支名称
label: master
# 注册服务中心客户端
eureka:
client:
service-url:
# 填写注册中心服务器地址
defaultZone: http://localhost:8091/eureka
# 是否需要将自己注册到注册中心
register-with-eureka: true
# 是否需要搜索服务信息
fetch-registry: true
instance:
# 使用ip地址注册到注册中心
prefer-ip-address: true
# 注册中心列表中显示的状态参数
instance-id: ${spring.cloud.client.ip-address}:${server.port}
2、Client客户端加载,控制台并没有打印 Fetching config from server at : http://192.168.0.126:8092/ 【ConfigServer服务地址】说明spring cloud config 配置并未生效。
解决:使用bootstrap.yml文件,将spring cloud config配置和eureka配置都放进去。
说明:bootstrap.yml(bootstrap.properties)用来在程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等application.yml(application.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。bootstrap.yml 先于 application.yml 加载
技术上,bootstrap.yml 是被一个父级的 Spring ApplicationContext 加载的。这个父级的 Spring ApplicationContext是先加载的,在加载application.yml 的 ApplicationContext之前。
为何需要把 config 的信息放在 bootstrap.yml 里?
当使用 Spring Cloud 的时候,配置信息一般是从 config 加载的,为了取得配置信息(比如密码等),你需要一些提早的引导配置。因此,把 config 信息放在 bootstrap.yml,用来加载在这个时期真正需要的配置信息。
更详细说明请移步查阅:https://www.cnblogs.com/BlogNetSpace/p/8469033.html
3、bootstrap.yml不生效问题,bootstrap.yml文件是springcloud下使用的配置并非springboot,一般来说bootstrap配置文件不生效只有springcloud依赖版本问题这一种情况。而且springboot和springcloud版本要匹配,不然也是会报依赖相关的错。
解决:使用较低版本的springboot和springcloud依赖,我这里使用的springboot版本【2.3.5.RELEASE】、springcloud版本【Hoxton.SR9】
更多版本依赖关系请移步至spring官网查看https://spring.io/projects/spring-cloud
标签:配置,application,bootstrap,SpringCloudConfig,Client,config,yml,加载 来源: https://blog.csdn.net/qq_34492913/article/details/112133269