Spring-01-什么是context
Spring-04-什么是Bean的容器
先对BeanFactory有了了解,也就是说一个框架已经有了能力实现对Bean对象的管理,那么下一步是什么,肯定是围绕已有核心能力提供周边建设,context就是面向应用的一个,打包好的,开箱即用的一整套东西
从SpringBoot看的时候,用了AnnotationConfigApplicationContext
1 它有什么组件
- beanFactory 实现是DefaultListableBeanFactory
- reader 实现是AnnotatedBeanDefinitionReader 这个地方有个重要的点 在refresh的invokeBeanFactoryPostProcessors会用到 Spring-02-怎么根据启动类找到所有BeanDefinition的
- scanner 实现是ClassPathBeanDefinitionScanner
1 | |
1 | |
2 大名鼎鼎的refresh
1 | |
我会把核心的步骤单独成一个篇章
- 1 准备context
- 2 从context中把BeanFactory对象拿出来
- 3 增强BeanFactory Spring-13-增强BeanFactory
- 4 扩展点
- 5 让BeanFactoryPostProcessor修改BeanDefinition Spring-14-开始大规模解析BeanDefinition
- 6 让BeanPostProcessor修改Bean Spring-15-准备Bean创建过程的拦截器
- 7 国际化
- 8 构造事件发布器
- 9 扩展点
- 10 注册ApplicationListener
- 11 真正创建Bean Spring-16-真正创建Bean
- 12 Bean完成创建
Spring-01-什么是context
https://bannirui.github.io/2023/03/11/Spring/Spring-01-什么是context/