web容器的初始化过程为
- web容器(如tomcat)读取web.xml, 读取文件中两个节点和
- 容器创建ServletContext,它是web的上下文,整个web项目都会用到它
- 读取context-param节点,它以 键值对的形式出现。将节点值转化为键值对,传给ServletContext
- 容器创建中的实例,创建监听器。监听器必须继承ServletContextListener
- 调用ServletContextListener的contextInitialized()方法,spring容器的创建和初始化就是在这个方法中
initWebApplicationContext()主要做三件事
- 创建WebApplicationContext,通过createWebApplicationContext()方法
- 加载spring配置文件,并创建beans。通过configureAndRefreshWebApplicationContext()方法
- 将spring容器context挂载到ServletContext 这个web容器上下文中。通过servletContext.setAttribute()方法。
创建spring容器的流程比较简单,具体为两步
- 获取WebApplicationContext实现类的class对象
- 根据class对象创建实例对象
参考https://blog.youkuaiyun.com/u013510838/article/details/75066884
bean初始化
https://blog.youkuaiyun.com/gloomy_114/article/details/70208732