为了账号安全,请及时绑定邮箱和手机立即绑定

我这里尝试的是注解,但是注入有点问题

https://img1.sycdn.imooc.com//5bcee697000126ec11760601.jpg

https://img1.sycdn.imooc.com//5bcee69700011db015420902.jpg

spacer.gif

https://img1.sycdn.imooc.com//5bcee6d2000155fc12210584.jpg


为什么注入是null呢

正在回答

2 回答

使用junit测试时,先通过反射生成一个测试类对象。这个对象实例化之后,也就是jvm为他分配内存,他包含的oneinterface也分配好相应的内存大小,但是没有赋值,也就是null,因为这个时候还没有加载spring*.xml文件,无法解析@Resource标签。之后调用其构造函数,就像你的例子里面,这个时候才去为配置文件赋值为spring*.xml。通过测试类对象执行测试方法的时候先执行before,这个时候测试类对象被用,因为线程安全,加载spring*.xml文件并正确扫描到了测试类,但是无法为测试类对象注入,因为这块内存的读取是线程安全的,所以oneinterface还是null。个人理解

0 回复 有任何疑惑可以回复我~

问题解决了吗,mark一下

0 回复 有任何疑惑可以回复我~
#1

慕田峪5532335 提问者

还没...
2018-10-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我这里尝试的是注解,但是注入有点问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信