Spring IoC

Spring並沒有一個main class和main方法,它主要作爲web application或者java application等應用的一種輔助。那麼Spring是如何初始化的呢?
對於java application,Spring的初始化很簡單,new一個ApplicationContext或者BeanFactory即可。而在web application中要多出一個和web 容器整合的過程。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

ContextLoaderLister extends ContextLoader implements ServletContextListener
由於ContextLoaderLister實現了ServletContextListener接口,即實現了contextInitialized和contextDestroyed方法,所以在一個web啓動時,ContextLoaderListener會調用contextInitialized方法,在該方法中,initWebApplicationContext。這個過程類似於在java application中通過new創建一個ApplicationContext。不同的是該WebApplicationContext會保存一個到ServletContext的引用。默認的實現是XmlWebApplicationContext。

發佈了27 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章