不学无数——Spring注入后反射的空指针异常
Spring注入后反射的空指针异常 自动装配是在spring环境下当使用该类的实例时由spring容器完成了类的实例化过程,包括对依赖对象的实例化过程。 而通过反射创建实例时,是根据你调用的构造函数完成的实例化过程,没有容器的自动化创建实例了,所以需要自己对依赖对象进行注入。 所以依赖spring容器实例化和自己用反射实例化是两种独立的方式,不能相互渗透的。 1. 异常说明 在单元测试类中,要单独测一个类中的private方法,所以想通过反射获得此方法,解除私有限定,然后进行调用。此类为Service其中注入了许多的Mapper,因此在通过调用此私有方法的时候报了空指针异常的错误,错误如下: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.refle...