cloudconfig客户端报错 Caused by Could not resolve placeholder’config.info’ in "${config.info}"的最终解决答案
相信很多小伙伴都在学习cloud-config时遇到这个错误,网上千篇一律的报错解答,全是不行,各种博主该反思了
先上最终解决答案:
在bootstrap.yml配置文件中找到,对应的配置文件,在最终配置中找到xxx.yml是否存在config.info这个属性(这里的Could not resolve placeholder “config.info" ),没有加上,并且更新到git服务器就行
问题如下:
业务类:
@RestController
public class ConfigClientController {
@Value("${config.info}")
private String configInfo;
@GetMapping("/configInfo")
public String getConfigInfo() {
return configInfo;
}
}
解决步骤
这个@Value注入报错,我们先分析这个注解的作用
@Value注解作用
该注解作用的作用是将我们配置文件的属性读出来,有@Value("${}")和@Value("#{}")两种方式
@Value注解作用的两种方式
- 第一种方式配置注入@Value("${}"):在使用Springboot项目搭建的项目时,配置文件application.properties中,
- 第二种方式非配置文件注入
注入普通字符串
注入操作系统属性
注入表达式结果
注入其他Bean属性
注入文件资源
注入URL资源
我们这里使用的配置注入,当然我们客户端的配置文件是不可能存在这个属性的,所以要从cloud-conifg服务端入手
bootstrap.yml客户端配置如下,去服务器查找config-dev.yml这个文件
然后找到cloud-conifg服务端中的git地址,找到源文件
这是原数据
加上缺少的属性
提交到服务器就行,cloud-conifg 服务端是不用刷新的
git add .
git commit -m “update”
git push origin master
启动成功
请求成功