一、@SpringBootApplication(scanBasePackages = {"com.xx","com.xxx"})
从注释里可以看出,@SpringBootApplication的scanBasePackages 和@ComponentScan 等同。
二、@ComponentScan
三、对比
两者作用相同,如果不指定包名,默认扫描使用该注解的类所在包下所有类。任选一种即可。
但是,如果同时使用,会出现覆盖情况,@ComponentScan优先级更高,@SpringBootApplication中scanBasePackages指定的包会失效。
// Spring 实际只扫描 A和B两个包
@SpringBootApplication(scanBasePackages = {"A","B","C"})
@ComponentScan({"A","B"})