老师我感觉您这里那个@ComponentScan好像讲错了

老师我感觉您这里那个@ComponentScan好像讲错了

7月老师好,在3分钟左右的时候您注释掉了@ComponentScan换成@Import启动错误,其实不是因为@ComponentScan会扫描那个WebFactory,是因为您这还有一个MissyouApplication,它这个配置类上有@SpringBootApplication,@ComponentScan扫描到MissyouApplication这个配置类,所以@EnableAutoConfiguration配置会生效去扫描spring.factories里的Enable相关配置类把这个WebFactory加入容器.所以其实我觉得核心注解是@EnableAutoConfiguration,有了@EnableAutoConfiguration这个注解没有@ComponentScan也没关系.

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

@ComponentScan主要是去扫描 带有Component注解的一些组件。

Spring的Enable是另外一套机制。

这个我觉得要探讨的话,你应该具体 告诉我 我的描述里 哪个你觉得不太正确?欢迎继续 讨论。

  • yJJJJJJ 提问者 #1
    老师您好,就是您自定义了一个LOLApplication,然后加了@ComponentScan注解,启动成功. 之后您又把@ComponentScan注释掉了,启动出错,错误信息是找不到WebFactory. 然后您说这个是因为@ComponentScan会扫描这个WebFactory加入容器.但是这个WebFactory可以加入容器是因为@EnableAutoConfiguration这个注解会扫描spring.factories下的配置把WebFactory加入容器而不是@ComponentScan把它扫描加入容器的吧...只是您没有注释掉MissyouApplication上面的@SpringBootApplication,@ComponentScan扫描到了这个配置类使得@EnableAutoConfiguration生效了,如果第一次您把之前那个配置类@SpringBootApplication删掉加上@ComponentScan也不会启动成功,
    2020-03-23 18:19:06
  • 7七月 回复 提问者 yJJJJJJ #2
    具体是哪个小节你觉得有问题,我再复勘一下
    2020-03-24 07:41:48
  • yJJJJJJ 提问者 回复 7七月 #3
    老师,第11周springboot条件注解与配置,2-5小节,3分钟左右.
    2020-03-24 14:11:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师