SpringBoot 获取扫描包路径

2020-05-27  本文已影响0人  steamed_bun
  1. 打开@SpringBootApplication可看到@EnableAutoConfiguration,即开启自动配置功能
  2. 打开@EnableAutoConfiguration可看到@AutoConfigurationPackage,即自动配置包
  3. 打开@AutoConfigurationPackage可看到@Import(AutoConfigurationPackages.Registrar.class),即向容器中注入 AutoConfigurationPackages.Registrar.class
  4. 进入可看到
@Override
public void registerBeanDefinitions(AnnotationMetadata metadata,
        BeanDefinitionRegistry registry) {
    register(registry, new PackageImport(metadata).getPackageName());
}

其中AnnotationMetadata metadata是最初的@SpringBootApplication标签,故new PackageImport(metadata).getPackageName()就可获得@SpringBootApplication标签所在的包路径。
总结:SpringBoot会将当前启动类所在包下面的所有组件扫描到容器中。

上一篇下一篇

猜你喜欢

热点阅读