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

我們遵循類的依賴,引用關(guān)系來理清spring在這一過程中的架構(gòu)和細(xì)節(jié)實(shí)現(xiàn)。java web項(xiàng)目入口在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元素標(biāo)記容器是否在啟動(dòng)的時(shí)候就加載這個(gè)servlet(實(shí)例化并調(diào)用其init()方法)。進(jìn)入DispatcherServlet尋找init方法,在其父類HttpServletBean中找到。

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

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

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

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

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式