SpringBoot项目中如何避免autowire导致依赖注入为null的疑难杂症?
- 内容介绍
- 文章标签
- 相关推荐
本文共计613个文字,预计阅读时间需要3分钟。
这个问题困扰了我很久,有些类不是Controller,但使用了autowired注解后却显示为空。在网上找到的方法是在类初始化时主动注入Autowired的类,如下所示:
+------------------+ | 这样做是可行的 |+------------------+最后使用时,使用上图所示的方法。
这个问题困扰了很久,有些类不是controller在使用autowired注入的类显示为空,找到网上的方法是在类初始化时主动注入被Autowired的类,如下图
这样的方法是可行的,最后引用时使用上图中doubleTeachSendMsg.doubleTeachService.sendMsg();方法即可,但是使用起来未免太麻烦,而且也不是spring依赖注入的原则,这个出现原因其实就是此类是在bean加载之前被调用,或者springboot在加载时没有识别到此类,所以注入为空,要想使此类被识别到,那么就要在启动时被spring识别到,需要将其变为bean对象并被识别到。
本文共计613个文字,预计阅读时间需要3分钟。
这个问题困扰了我很久,有些类不是Controller,但使用了autowired注解后却显示为空。在网上找到的方法是在类初始化时主动注入Autowired的类,如下所示:
+------------------+ | 这样做是可行的 |+------------------+最后使用时,使用上图所示的方法。
这个问题困扰了很久,有些类不是controller在使用autowired注入的类显示为空,找到网上的方法是在类初始化时主动注入被Autowired的类,如下图
这样的方法是可行的,最后引用时使用上图中doubleTeachSendMsg.doubleTeachService.sendMsg();方法即可,但是使用起来未免太麻烦,而且也不是spring依赖注入的原则,这个出现原因其实就是此类是在bean加载之前被调用,或者springboot在加载时没有识别到此类,所以注入为空,要想使此类被识别到,那么就要在启动时被spring识别到,需要将其变为bean对象并被识别到。

