报错内容:
在使用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")

就解决了这个问题

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐