Spring Boot 3中Feign占位符无法识别问题求助
Spring Boot 3 Feign客户端占位符无法识别问题解决
问题分析
启动时抛出java.lang.IllegalArgumentException: Could not resolve placeholder 'feign.baseurl' in value "http://${feign.baseurl}",核心原因是配置格式错误或配置未正确赋值,同时代码里存在拼写失误。
解决步骤
1. 修正application.yml配置格式与内容
YAML配置要求键值对必须以键: 值的格式书写,你当前的配置缺少冒号和具体的URL值,正确写法如下:
feign: baseurl: http://目标服务的实际地址:端口
注意:缩进必须用空格(2个或4个,保持一致),不能用制表符;baseurl后面必须加冒号和空格,再跟上具体的URL。
2. 修正Feign客户端代码的拼写错误
你代码里的@FeignClent和ExamplseService存在拼写错误,修正后如下:
@FeignClient(value = "abc.xyz.app", url = "${feign.baseurl}") public interface ExampleService { // 定义接口方法 }
@FeignClent→@FeignClient(补全缺失的字母i)ExamplseService→ExampleService(补全缺失的字母e)
3. 额外检查项
- 确认当前激活的配置文件(比如application-dev.yml)中也存在
feign.baseurl配置,避免多环境配置遗漏。 - 检查占位符名称与YAML中的键完全一致,YAML是大小写敏感的,确保没有拼写错误。
内容的提问来源于stack exchange,提问作者Santhoshkannan
相关产品推荐
相关产品推荐

