报错内容:
在使用SpringBoot的自动注入时,使用YAML格式的配置文件进行注入,但一直报错,无法注入。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘helloController’: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘name’ in value “${name}”
搜了很多帖子说是要注意Application扫描自己所在的文件夹及对应子文件夹,这个地方很多人踩坑,不过我的问题不在这里
代码
@RestController
public class HelloController {
@Value(value = "${name}")
private String name;
@RequestMapping("/hello")
public String hello(){
System.out.println(name);
return "hello Spring Boot !";
}
}
在HelloController上再加上读取配置文件的注解
@PropertySource(value = "classpath:application.yaml")
就解决了这个问题

在使用SpringBoot的自动注入功能时遇到问题,尝试从YAML配置文件读取属性值失败,导致Bean创建异常。错误信息为:BeanCreationException和IllegalArgumentException,提示无法解析配置文件中的占位符。解决方案是在HelloController上添加@PropertySource注解,指定加载classpath下的application.yaml文件,从而成功读取并注入配置值。
5653

被折叠的 条评论
为什么被折叠?



