Springboot启动类注解
@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
其中扫描包的范围为启动类所在包和子包。
如果我们需要扫描其他模块的包或者第三方的jar包,我们就要单独使用@ComponentScan注解扫描。
但是,如果@SpringBootApplication和@ComponentScan注解在一个启动类中共存,那么@SpringBootApplication注解的扫描的作用将会失效,也就是说不能够扫描启动类所在包以及子包了,因为它被@ComponentScan注解中指定的包扫描覆盖了。
因此,@SpringBootApplication和@ComponentScan注解在一个启动类中共存时,@ComponentScan中必须指定所有需要扫的包,不然没有指定的包就不会扫描到。
所以配置包扫描建议单独建立一个配置类加上@Configuration注解和@ComponentScan注解配置要扫描的包,并放到启动类所在包的子包下。