spring boot @Autowired 为 null

2019-01-25 17:30:56 +08:00
 luckyqiang

求助,在一个工具类 Utils.java 里 @Autowired 自动注入一个配置类 Config,为什么一直为 null,困扰了两天了。。。

5697 次点击
所在节点    Java
23 条回复
passerbytiny
2019-01-25 17:58:02 +08:00
你这个要用的是 @ConfigurationProperties,结合 @EnableConfigurationProperties 或者 @Component

http://blog.geekidentity.com/spring/spring_boot_translation/
转到 4.2.7 24.7 类型安全的配置属性,那里有你想要的。
JsonTu
2019-01-25 18:07:46 +08:00
1.你调试看看 Config 类中 @value 是否把值注入进去了,若如,请检查扫描包配置
2.上面无问题,调试 Utils 构造函数,看 Config 类是否注入进去
3.上面无问题,我猜测你使用 Utils 类,是直接 Utils.method(),那这样获取的 Config 类,肯定是为 NULL,因为你不是从 Spring 中取出的 Utils。应该在使用的地方将 Utils 注入成属性,如下:

@Autowired
private Utils utils;

xxx(){
utils.method();
}

第一次在电脑上回复,不知道格式会不会变。。逃。。
luckyqiang
2019-01-25 18:40:03 +08:00
@JsonTu 666 老哥 就是这个问题 已经解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/530650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX