2 遍历所有资源,判断是否在include中
doScan
3 在扫描include中则创建ScannedGenericBeanDefinition
2 CommonAnnotationBeanPostProcessor
4 封装BeanDefinitionHolder
getResources
findPathMatchingResources
registerComponents
下面遍历文件下所有的文件并返回
ClassPathBeanDefinitionScanner
spring.handlers
ClassPathScanningCandidateComponentProvider
ComponentScanBeanDefinitionParser
1 查找所有的BeanDefinition
parse方法入口
3 解析注解 Lazy Primary DependsOn Role Description
ContextNamespaceHandler
PathMatchingResourcePatternResolver
1 查找所有的Resource资源
scanCandidateComponents
findCandidateComponents
2 解析Scope属性
parse
doFindPathMatchingFileResources
doFindMatchingFileSystemResources
1 AutowiredAnnotationBeanPostProcessor