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

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

tomcat启动加载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。

猜你喜欢

转载自blog.csdn.net/qq_40718168/article/details/84061731