1,根据启动类深入注解
//这是我们的启动类
@SpringBootApplication
public class SpringbootBasicApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootBasicApplication.class, args);
}
}
//点入@SpringBootApplication 注解
//可继承
@Inherited
//说明是一个配置类
@SpringBootConfiguration
//自动配置的注解
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
//点入@EnableAutoConfiguration注解
//自动配置包
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {
//点入@AutoConfigurationPackage注解
//给ioc容器注入了AutoConfigurationPackages.Registrar
@Import(AutoConfigurationPackages.Registrar.class)
public @interface AutoConfigurationPackage {
2,断点验证
①,计算得到要扫描的包