标签:spring ati 知识 配置文件 实现 cat 简单 注入 学习
公司一个service需要用到一些java库,于是索性使用springboot进行开发,在看了一遍springboot教学视频之后就开始上手。。算是边踩坑边进步。
在把主要逻辑部分完成之后需要将部分参数移到application.properties中去,然后按照网上一般的介绍,我选择了最简单的一种注入参数的方法:@Value注解。
但在实际折腾过程中,我在一个类中注入的@Value死活无法起作用, 各种查错误原因,甚至换了数据的类型,就是没办法。
最后解决问题的契机是我发现同样的注入方法@Value在RestController类中就完全没问题。。。。。。
在重新回顾了一下spring以及springboot的基本原理之后我突然恍然大悟:
只有成为bean以及由spring容器装配的bean才能够实现这样的参数注入。
我的当前这个类虽然也被我标注了@Component,但是在另一处使用它的时候我依然像C++一样手动new了一个。。这种实例怎么可能有自动注入的参数呢?!
这么简单一个bug花费了我好长时间。
我认真学习java的时间不长,这次debug让我认识到对于一门语言或者框架原理知识学习的重要性。
记一次springboot @Value注解无法注入配置文件的错误
标签:spring ati 知识 配置文件 实现 cat 简单 注入 学习
原文地址:https://www.cnblogs.com/J1ac/p/12202522.html