1. 程式人生 > >springMVC啟動初始化過程

springMVC啟動初始化過程

文件的 web.xml info 容器 環境 創建 con inf bubuko

在web.xml裏配置分發servlet和ContextLoaderListener,ContextLoaderListener是spring提供的類,它繼承了ContextLoader類和實現了ServletContextListener接口。

ContextLoader類負責初始化容器,初始化方法是 initWebApplicationContext(ServletContext servletContext)

ServletContextListener負責監聽web容器的創建和銷毀,分別對應contextInitialized(ServletContextEvent sce) 和 contextDestroyed(ServletContextEvent sce) 方法,

技術分享圖片

在初始化方法中調用ContextLoader提供的initWebApplicationContext方法來初始化 Web 環境下的spring 容器WebApplicationContext,WebApplicationContext的類層次關系如下

技術分享圖片

從spring默認使用的mlWebApplication入手,與IOC容器的初始化過程類似,這個過程也有loadBeanDefinitions方法對BeanDefinition的引入,是通過XmlBeanDefinitionReader 來載入Bean定義信息的,最終完成對上下文的初始化過程

技術分享圖片

,還可以看到一些默認的配置項,不如默認的配置文件的路徑和獲取

技術分享圖片

技術分享圖片

如果想獲取更詳細的初始化過程代碼可以詳細到各個方法裏看 :)

以上是筆者通過對spring 源碼的分析總結出的一些拙見,如有錯誤 歡迎指出。

springMVC啟動初始化過程