loadBeanDefinitions类中方法解析:



1.XmlBeanDefinitionReader读取xml配置文件
2.initBeanDefinitionReader初始化bean

3.loadBeanDefinitions加载bean doLoadBeanDefinitions方法,在Spring源码中带do的是实际干活的方法

4.通过DOMParser中的parse方法进行xml的解析


二、AbstractApplicationContext的refresh()方法


2.1 invokeBeanFactoryPostProcessors方法

2.2 initMessageSource国际化

2.3 initApplicationEventMulticaster注册事件

2.4 registerListeners注册监听器

2.5 finishBeanFactoryInitialization bean实例化
beanFactory.preInstantiateSingletons();
doGetBean()
doCreateBean()

二、sping启动过程

spring中的ioc容器分类:
1)实现BeanFactory接口的简单容器
2)实现ApplicationContext接口的高级容器

ApplicationContext
public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory,
        MessageSource, ApplicationEventPublisher, ResourcePatternResolver

  ClassPathXmlApplicationContext->refresh()

 

  


























posted on 2021-09-27 14:55  安晏朋  阅读(86)  评论(0编辑  收藏  举报