一 ComponentScan作用
1.1 注解作用
项目会默认扫描@SpringBootApplication注解所在路径的同级和下级的所有子包,使用@ComponentScan后他会取代掉默认扫描。
@ComponentScan 是Spring框架的注解,它的作用是扫描指定的包路径下的标有 @Component、@Service、@Repository 和 @Controller 等注解的类,并注册为bean。
如果接口类即使加上了 @Component 注解,也不会被实例化为 bean,这是因为 Spring 容器不会将接口当作 bean 来处理。Spring 需要的是能够实例化和管理的类,而接口不能被实例化。
二 案例操作
2.1 @ComponentScan扫描包路径下的类
2.1.1 工程结构以及问题描述
在A工程调用B工程的sdk包,启动时报无法扫描工程B中的类
1)B工程作为sdk包:
2)A工程结构
3)A工程作为调用类:
2.1.2 解决办法
1.在启动使用@componentscan注解,添加扫描本工程的路径,以及引用sdk具体类的路径。
(项目会默认扫描@SpringBootApplication注解所在路径的同级和下级的所有子包,使用@ComponentScan后他会取代掉默认扫描。)
2.验证: