springboot遇到autowire注入为null的问题

这个问题困扰了很久,有些类不是controller在使用autowired注入的类显示为空,找到网上的方法是在类初始化时主动注入被Autowired的类,如下图

springboot遇到autowire注入为null的问题

这样的方法是可行的,最后引用时使用上图中doubleTeachSendMsg.doubleTeachService.sendMsg();方法即可,但是使用起来未免太麻烦,而且也不是spring依赖注入的原则,这个出现原因其实就是此类是在bean加载之前被调用,或者springboot在加载时没有识别到此类,所以注入为空,要想使此类被识别到,那么就要在启动时被spring识别到,需要将其变为bean对象并被识别到。如下图

springboot遇到autowire注入为null的问题

springboot启动会扫描configuration,正常添加信息在最下面的是new MyWebSocketHandler(),在此处使用spring的依赖注入,使spring识别到此类,这样,添加的autowired方法就不会是null了,并且也不需要在添加 这种方式了

springboot遇到autowire注入为null的问题