spring5.0.x版本源代码阅读详细讲解系列文章(附Spring流程执行图)

前言

  1. 本系列文章中的源码基于Spring-5.0.13版本
  2. 只关注注解方式,XML配置方式不关注
  3. 对于不影响Spring流程且研究价值不大的一些代码博主就暂时没有研究

Spring流程导图

内容

1. 构建AnnotationConfigApplicationContext对象,准备环境,并理解Spring中的BeanDefinition重要知识点

2. 向容器中注册配置类(一般是配置类,也可以是普通类)

3. refresh刷新容器之前期准备工作和Bean工厂级别的BeanFactoryPostProcessor处理流程

4. ConfigurationClassPostProcessor类postProcessBeanDefinitionRegistry()处理配置类流程

5. 解析配置类的内部类、@PropertySource、@ComponentScan,处理@ImportResource注解

6. 处理配置类的@Import、@Bean、父接口方法的@Bean并解析,同时解析@ImportResource

7. 执行postProcessBeanFactory方法对@Configuration配置类的@Bean方法进行CGLIB代理增强

8. 调用registerBeanPostProcessors()方法将容器中的BeanPostProcessor提取出来注册进容器的集合中供对Bean创建时调用

9. refresh刷新容器之finishBeanFactoryInitialization()方法对非延迟加载的单例Bean调用getBean()实例化流程

10. populateBean()方法对已经创建好的实例进行属性填充之ByName或ByType自动注入模型相关代码阅读

11. populateBean()方法对@Autowired和@Value注解的处理

12. spring的Bean创建过程和图解spring是如何解决循环依赖的

13. Spring的AOP相关逻辑代码

你可能感兴趣的:(spring源代码,spring,spring,boot,spring源码,spring5,spring执行流程)