Spring器启动流程图
2022-03-02 17:16:11 0 举报
Spring器启动流程图
作者其他创作
大纲/内容
AutowiredAnnotationBeanPostProcessor对@Autowired注解自动注入
prepareBeanFactory
注册多个内置的bean
3.所有的BeanDefinitionRegistryPostProcessor.postProcessBeanFactor()
register
AnnotatedBeanDefinitionReader注解bean读取器
ConfigurationClassPostProcessor解析相关配置BeanDefinitionRegistryPostProcessor类型继承BeanFactoryPostProcessor类型
ApplicationContextAwareProcessor通过set方法注入属性BeanPostProcessor类型
执行processConfigBeanDefinitions方法
ClassPathBeanDefinitionScanner包或类扫描器
执行postProcessBeanFactory方法
解析注解元数据注册bean到容器
1.自定义BeanDefinitionRegistryPostProcessor.postProcessBeanDefinitionRegistry()
invokeBeanFactoryPostProcessors执行所有BeanFactoryPostProcessor
RequiredAnnotationBeanPostProcessor
为@Configuration 注解的类通过 cglib 创建代理类,来替换原有的 bean
添加ImportAwareBeanPostProcessor后置处理器
注册内置BeanPostProcessor
refresh触发容器解析
父类
执行顺序
初始化默认容器DefaultListableBeanFactory
finishBeanFactoryInitialization实例化单例对象
注册容器中BeanPostProcessor
4.所有的BeanFactoryPostProcessor.postProcessBeanFactory()
2.内置的BeanDefinitionRegistryPostProcessor.postProcessBeanDefinitionRegistry()
外部通过scam()、并调用refresh()扫描bean
1.解析@Configuration注解类2.扫描@Component(包括一些继承的注解)、@ComponentScan、@Import、@ImportResource注解下的bean
AnnotationConfigApplicationContext初始化

收藏

收藏
0 条评论
下一页