Spring5.0.x源码分析(四)

@Configuration

//@Configuration
@ComponentScan("com.google")
@Import(MyBean.class)
public class AppConfig {

}
//=======================================================================================
public class Test {
	public static void main(String[] args) {
		AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
		ac.register(AppConfig.class);
		ac.refresh();
		AppConfig appConfig = ac.getBean(AppConfig.class);
	}
}

PostProcessorRegistrationDelegate#invokeBeanFactoryPostProcessors()
Spring5.0.x源码分析(四)_第1张图片
Spring5.0.x源码分析(四)_第2张图片
ConfigurationClassPostProcessor#postProcessBeanFactory()
Spring5.0.x源码分析(四)_第3张图片
ConfigurationClassPostProcessor#enhanceConfigurationClasses()
Spring5.0.x源码分析(四)_第4张图片
执行到最后AppConfig如下
Spring5.0.x源码分析(四)_第5张图片
当我们给AppConfig加上@Configuration注解之后,再来看这个过程
Spring5.0.x源码分析(四)_第6张图片
Spring5.0.x源码分析(四)_第7张图片
执行到最后我们来看拿出来的这个AppConfig
Spring5.0.x源码分析(四)_第8张图片

你可能感兴趣的:(Spring源码分析)