遇到一个很奇怪的问题就是@Autowired注入失败,首先我去检查了该类是否被spring 容器托管 ,发现相应的类已经添加@controller、@service等注解,说明该类已经为Spring类,不存在非spring无法使用@Autowired注入的问题。在网上也查了很多文章,都没有解决这个问题。后来经过逐个排查发现,同个类中不同的方法注入的变量也不同,用public 修饰的方法可以正常调用,而private调用的方法无法正常调用,值为null。把private 改为public后就能正常调用了,说明@Autowired注入是正常的,和函数的修饰符有关。如下图: