今天照常为项目组开发一个工具类,组长要求调用方式要简单,所以直接采用类名+方法名的调用方式来开发的,结果测试的时候注入的对象一直为null,下面开始来逐步分析解决:
1、类名忘记添加@Component注解
加这个注解是为了将类添加到Spring容器管理中去,方便使用者调用。
2、Autowired注入的mapper使用了static修饰符
众所周知,Spring是面向单例对象的,重点是面向对象的,而static是修饰类属性或者方法,两者根本不在一起玩,所以无效。
3、采用new实例的方式对外提供
照样踩雷!使用 new 关键字创建的对象不受spring容器管理,依然无法注入。
4、采用Autowired注入方式调用工具类
在上面一系列踩雷后,最终使用@Autowired方式注入工具类,调用成功!
总结:1、类上加@Component注解;2、不用static,非要用的话就得是另外一种方法了,请自行百度吧,这个不做解释了;3、@Autowired注入工具类来使用,完美解决!