ConfigurationClassPostProcessor
在AnnotationConfigEmbeddedWebApplicationContext构造方法中创建
在invokeBeanFactoryPostProcessors()步骤中执行
接口主要实现了BeanDefinitionRegistryPostProcessor BeanFactoryPostProcessor 接口
在启动的时候会先执行BeanDefinitionRegistryPostProcessor接口的方法postProcessBeanDefinitionRegistry
再执行BeanFactoryPostProcessor接口的方法postProcessBeanFactory
只记录重点参数
postProcessBeanDefinitionRegistry(BeanDefinitionRegistry)
--> processConfigBeanDefinitions(BeanDefinitionRegistry)
从BeanDefinitionRegistry中得到所有注册的beanDefinition
这里就会得到步骤prepareContext()将new SpringApplication(AppBarrageRobotApplication.class)的AppBarrageRobotApplication加入到beanFactory中的AppBarrageRobotApplication
进而可以扫描到启动类AppBarrageRobotApplication上面的注解
--> checkConfigurationClassCandidate(BeanDefinition)
找到所有包含Configuration Component ComponentScan Import ImportResource的BeanDefinition 或者有Bean注解的方法
Configuration的bean会加上full标志
其余的会