"com.imooc"在@ComponentScan里面可以省略吗?

"com.imooc"在@ComponentScan里面可以省略吗?

请问老师

@ComponentScan(basePackages = {"com.imooc", "org.n3r.idworker"})

在@SpringBootApplication里面已经有@ComponentScan,会默认扫描"com.imooc"。
这里又重复了"com.imooc”,是不是多余了?可以改成直接@ComponentScan(basePackages = "org.n3r.idworker”)吗?
还是说要扫描额外的包,就必须也加上默认的包 写在一起?

正在回答 回答被采纳积分+1

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

2回答
qq_慕莱坞4316410 2021-11-21 16:03:55

加这个还是不加这个需要看你的主启动类在什么位置,有一个包是没在com.imooc下,老师使用componentscan进行扫描的,强制进入该包下面,但是使用这个扫描有一个弊端,那就是只会扫描你写的路径下的所有包,其他地方都不扫描,你不加这个com.imooc的会直接扫到org包下,其他包就不会扫描了,所以两个都要加

风间影月 2021-02-11 09:30:05

不行,要加的,默认是这个,但是这里指定了别的,需要一起加

  • 我尝试了一下,不加默认的扫描包全限定名称,也可以运行

    /**
    * 项目启动类
    */
    @SpringBootApplication
    @MapperScan("com.imooc.mapper") // 扫描mapper转换为spring bean,由spring容器管理
    @ComponentScan(basePackages = {"org.n3r.idworker"}) // 将其他包的类扫面进spring 容器
    public class Application {
    public static void main(String[] args) {
    SpringApplication.run(Application.class,args);
    }
    }


    2021-02-26 00:01:38
  • 哦,不对,还是需要加上com.imooc,不加扫描不到包,虽然启动的时候没有报错

    2021-02-26 00:24:45
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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