首先我們不要在學(xué)習Spring的開始產(chǎn)生畏難情緒。Spring沒有臆想的那么高深,相反,它幫我們再項目開發(fā)中制定項目框架,簡化項目開發(fā)。它的主要功能是將項目開發(fā)中繁瑣的過程流程化,模式化,使用戶僅在固定文件中增加特定標簽并實現(xiàn)特定邏輯層的代碼就能完成項目開發(fā)。下面我們來分析web項目啟動時bean的初始化過程。

我們遵循類的依賴,引用關(guān)系來理清spring在這一過程中的架構(gòu)和細節(jié)實現(xiàn)。java web項目入口在web.xml,Spring在此配置入口servlet完成bean的加載。DispatcherServlet 作為前置控制器是web服務(wù)器的入口。

<servlet>  
    <servlet-name>spring</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>  </servlet>

我們知道load-on-startup元素標記容器是否在啟動的時候就加載這個servlet(實例化并調(diào)用其init()方法)。進入DispatcherServlet尋找init方法,在其父類HttpServletBean中找到。

DispatcherServlet的繼承關(guān)系如下圖

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

init方法細節(jié)代碼如下

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

        		

網(wǎng)友評論