为什么我@Value中明明显示了值,他却是null

今天尝试把一些重要东西写入application.yml里,结果在使用的时候发现value取不出来值原因有2个:
1.没有写@compent,没有把这个类交给spring管理
2.在service层new了一个这个方法,没有使用@autowired注解
还有一个我没犯的第三点:使用static或者final修饰了变量,导致无法注入配置值
个人理解为什么要用@value这种注解:
1.方便开发/测试/上线环境的切换
2.减少了在类里直接修改的量
3.方便保护重要数据,最近听说有同学把自己百度接口的密钥一块发到博客园,没两天使用量就刷满了

浙公网安备 33010602011771号