最近在工作中遇到一个问题,就是依赖注入时注入的是空,后面查看Component注解也加上了,没有问题。可是还是一直为空。后来才发现是因为我调用这个类的时候是使用了new的方式来获取对象的。然后我把获取对象的方式改成依赖注入后问题就解决了。
报空指针的原因:当对象声明为bean组件的时候,他是交给spring容器去管理的,容器会帮你进行初始化;但是如果使用new方法来调用对象是=时,会跳过spring容器生成的对象,这是就无法进行初始化,所以在调用的时候就会出现对象为null,并且对象里面以注入方式引用的对象也为null,被声明为bean对象的组件必修使用注入的方式进行调用。下来贴上我的程序图记录这次错误。
使用new的方式获取对象时:
修改成依赖注入后: