【转载】tomcat加载spring过程以及实例化bean

omcat启动加载web.xml配置的ContextLoaderListener,调用方法contextInitialized开始初始化,

 

在initWebApplicationContext中先创建一个XMLWebapplicationContext,

 

再调用 refresh方法,refresh方法会刷新web容器,

读取文件application.xml(默认),初始化IOC容器(BeanFactory)加载各个资源文件和bean。

 

 

 

加载applicationContext.xml使用了一个XMLBeanDefinitionReader,先读取成为一个Document对象,

 

再使用一个BeanDefinistionDocumentReader解析document对象

 

 

 

遍历document对象的所有element元素

 

使用不同的namespacehander来解析element,每个handler都有多个BeanDefinitionParser用来解析具体的标签

此处讲解默认<bean>加载

 

 

 

到此就是一个IOC容器初始化过程

 

接下来就是beanFactory完成之后,其他的一些事情,不描述了。

 

 

webapplicationContext初始化之后,IOC容器BeanFactory将会对bean进行初始化

这些是在tomcat启动时就进行实例化了

如果bean是 prototype和 延迟加载的,则在第一次使用bean时,实例化bean。

 

 

 

https://blog.csdn.net/yztezhl/article/details/52300663

posted @ 2020-10-13 21:35  java.matt  阅读(47)  评论(0编辑  收藏  举报