【SpringBoot】Spring项目中value注解,@Value不能够读取到配置文件的值,无法成功注入值的问题汇总及解决

Spring项目中value注解,@Value不能够读取到配置文件的值,无法成功注入值的问题汇总及解决

@Value注解

常规用法示例

我们都知道通过@Value()注解可以取到我们配置文件的内容,之后我们通过修改配置文件就可以修改我们@Value注解修饰的属性

FileController .java

@Controller
public class FileController {

    /**
     * 在application.properties中配置uploadPath,部署的时候方便随时修改
     */
    @Value("${hanquan.uploadPath}")
    private String uploadPath;
    
	// ... 省略

application.properties

hanquan.uploadPath=C:/picture/

可能遇到的一些比较隐秘的坑:

1、既然使用要使用@value把值注入,你的属性首先不能是static的

2、你在使用的方法也不可以是static 的

3、你使用这些属性的对象一定要自动装配,无论是使用Resource还是Autowired自动装配(区别一个根据名字一个根据类型装配),不可以自己去创建对象,使用spring就是要去使用它的特性去自动装配。

而我出现的问题就是第三种加第二种还是对spring的机制认识的不够,还需要多家练习学习。当然不能排除还有其他问题可能引起属性值取不到,也可以在评论区大家一起交流~

发布了610 篇原创文章 · 获赞 232 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/104240383