请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

SpringBoot中为什么有的不加@RunWith(SpringRunner.class)也能正常注入?

https://img1.sycdn.imooc.com//szimg/610bfa7f0902388428801638.jpg

这个AreaService当时没加@RunWith(SpringRunner.class)就不能注入areaService Bean

https://img1.sycdn.imooc.com//szimg/610bfae40958f93628801638.jpg

而这个wechatAuthService只有@SpringBootTest也能正常注入

请问老师这是为什么呢?



正在回答

1回答

同学好,

在正常情况下测试类是需要@RunWith的,作用是告诉java这个类通过用什么运行环境运行,例如启动和创建spring的应用上下文。否则需要为此在启动时写一堆的环境配置代码。在IDEA里去掉@RunWith仍然能跑是因为在IDEA里识别为一个JUNIT的运行环境,相当于就是一个自识别的RUNWITH环境配置。但在其他IDE里并没有。

0 回复 有任何疑惑可以回复我~
  • 提问者 SuperAIStar #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-08-05 23:38:35
  • 提问者 SuperAIStar #2
    发现老师日常都很晚还在电脑前呀!谢谢翔仔老师
    回复 有任何疑惑可以回复我~ 2021-08-05 23:39:37
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号