xuMengqi's Blog

@Configuration及其周边注解是如何生效的?


目录


  1. 1. 背景
    1. 1.1. 如何将一个Bean注册到IoC容器中?
    2. 1.2. 为什么要有配置类?
    3. 1.3. 如何描述一个配置类?
  2. 2. 配置类是如何工作的?
    1. 2.1. 获取候选的配置类列表
    2. 2.2. 依次解析每个配置类
      1. 2.2.1. 评估条件
      2. 2.2.2. 处理内部类
      3. 2.2.3. 处理@PropertySource注解
      4. 2.2.4. 处理@ComponentScan注解
      5. 2.2.5. 处理@Import注解
      6. 2.2.6. 处理@ImportResource注解
      7. 2.2.7. 处理@Bean注解
    3. 2.3. 依次从每个配置类中加载Bean定义
      1. 2.3.1. 注册被@Import导入的配置类
      2. 2.3.2. 获取Bean方法并加载Bean定义
      3. 2.3.3. 获取导入资源并加载Bean定义
      4. 2.3.4. 获取ImportBeanDefinitionRegistrar并加载Bean定义