记一次springboot @Value注解无法注入配置文件的错误

公司一个service需要用到一些java库,于是索性使用springboot进行开发,在看了一遍springboot教学视频之后就开始上手。。算是边踩坑边进步。

在把主要逻辑部分完成之后需要将部分参数移到application.properties中去,然后按照网上一般的介绍,我选择了最简单的一种注入参数的方法:@Value注解。

但在实际折腾过程中,我在一个类中注入的@Value死活无法起作用, 各种查错误原因,甚至换了数据的类型,就是没办法。

最后解决问题的契机是我发现同样的注入方法@Value在RestController类中就完全没问题。。。。。。

在重新回顾了一下spring以及springboot的基本原理之后我突然恍然大悟:

只有成为bean以及由spring容器装配的bean才能够实现这样的参数注入。

我的当前这个类虽然也被我标注了@Component,但是在另一处使用它的时候我依然像C++一样手动new了一个。。这种实例怎么可能有自动注入的参数呢?!

这么简单一个bug花费了我好长时间。

 

我认真学习java的时间不长,这次debug让我认识到对于一门语言或者框架原理知识学习的重要性。

posted @ 2020-01-16 17:48  J1ac  阅读(1318)  评论(0编辑  收藏  举报