慕田峪5532335
2018-10-23 17:16
为什么注入是null呢
使用junit测试时,先通过反射生成一个测试类对象。这个对象实例化之后,也就是jvm为他分配内存,他包含的oneinterface也分配好相应的内存大小,但是没有赋值,也就是null,因为这个时候还没有加载spring*.xml文件,无法解析@Resource标签。之后调用其构造函数,就像你的例子里面,这个时候才去为配置文件赋值为spring*.xml。通过测试类对象执行测试方法的时候先执行before,这个时候测试类对象被用,因为线程安全,加载spring*.xml文件并正确扫描到了测试类,但是无法为测试类对象注入,因为这块内存的读取是线程安全的,所以oneinterface还是null。个人理解
问题解决了吗,mark一下
Spring入门篇
268787 学习 · 963 问题
相似问题