1、原因分析
1.1 包没有被扫描到
通过@Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径下。
Spring Boot项目的Bean装配默认规则是根据Application类(指项目入口类)所在的包位置从上往下扫描。
eg: Application启动类在包com.alibaba.taobao下,则只会扫描com.alibaba.taobao包及其所有子包,如果需要自动装载的类所在包不在com.alibaba.taobao及其子包下,而是在com.alibaba.tmall下,则不会被扫描,自然就没法被注入!
1.2 代码中使用new关键字创建实例
若类A中包含成员属性B, B是通过@Autowired自动注入,而类A的实例是通过new的方式产生,则自动注入会失效的。
————————————————
版权声明:本文为CSDN博主「zhg_vincent」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Vincent2014Linux/article/details/88897805
若本文章侵犯了您的著作权,请联系我删除 QQ:695898855