web.xml中配置一个ServletContextListener
即:spring提供的ContextLoaderListener
web.xml
(1)在ContextLoaderListener的contextInitialized回调方法中调用initWebApplicationContext 初始化Spring的容器
ContextLoaderListener
(2)调用父类ContextLoader的实现
ContextLoader
其中ContextLoader的成员变量context是一个WebApplicationContext
成员变量 context
(3)调用configureAndRefreshWebApplicationContext,读取applicationContext.xml,初始化spring容器;然后将初始化好的容器放入ServletContext域中
initWebApplicationContext
(4)在方法configureAndRefreshWebApplicationContext中实际读取spring配置文件,初始化容器
configureAndRefreshWebApplicationContext
(5)customizeContext方法实际初始化spring的context
configureAndRefreshWebApplicationContext
(6)调用ApplicationContextInitializer的initialize方法,解析配置文件,创建bean
customizeContext
(7)创建bean。
发现BeanDefinitionDsl类竟然是一个kotlin文件!spring5.0源码中大量出现kotlin文件,看来kotlin会逐渐成为主流?
BeanDefinitionDsl
以上就是极悦小编介绍的"Web项目中Spring容器的创建过程简要分析",希望对大家有帮助,想了解更多可查看Spring框架教程。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习