第五章 spring-connet之Imports注解来龙去脉
前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看 PostProcessorRegistrationDelegate与BeanFactoryPostProcessor体系 和 AnnotationConfigUtils PS: 可以先看这个博客了解下 Spring Import 三种用法与源码解读 解析 ConfigurationClassParser的processImports方法是最核心的方法 // 这里是从SourceClass获得imports注解,注意jdk8允许标记多个注解,一个class可以标记多个不同注解,其他注解上也可以标记imports注解,所以需要一个set存放 private Set<SourceClass> getImports(SourceClass sourceClass) throws IOException { Set<SourceClass> imports = new LinkedHashSet<>(); Set<SourceClass> visited = new LinkedHashSet<>(); collectImports(sourceClass, imports, visited); return