[SpringBoot源码分析四]:@ComponentScan

第一步先祝大家中秋国庆快乐

image.png

1. 背景介绍

@ComponentScan是Spring中非常重要的一个类,可以将我们自己写的对象注册到容器中

在默认情况下,@SpringBootApplication中携带的@ComponentScan默认会把启动类路径作为扫描路径,然后看是否携带@Component作为注册的条件之一

public @interface ComponentScan {

/**
* 包扫描的路径
*/
@AliasFor("basePackages")
String[] value() default {};

/**
* 包扫描的路径
*/
@AliasFor("value")
String[] basePackages() default {};

/**
* 从指定的Class的包路径开始扫描
*/
Class[] basePackageClasses() default {};

/**
* bean名称生产器
*/
Class