WEB應用是如何運用Spring的?#①Spring的IOC容器如何在WEB中建立?

一枚派大星發表於2021-01-01

Spring的IOC容器如何在WEB中建立?

①非WEB應用在main方法中直接建立 IOC 容器

②WEB應用中,IOC應該在伺服器載入時就建立 IOC 容器

所以我們需要用到ServletContextListener監聽器類,在初始化伺服器方法 contextInitialized(ServletContextEvent sce) 中建立 IOC 容器

③在WEB應用的其他元件中如何來訪問 IOC 容器呢?

我們只需要在監聽器中將建立好的IOC容器放入到 ServletContext 域物件中即可

這些想法,Spring已經幫我們做好了,我們只需這樣操作,如下:

①、匯入jar包 spring-web-4.0.0.RELEASE.jar ,Spring將以上操作實現在jar包中

②、在web.xml檔案中配置 ContextLoaderListener 監聽器

這個監聽器實現了 ServletContextListener 介面,當伺服器啟動時,建立ServletContext域物件,會執行該監聽器中的contextInitialized方法

進入 initWebApplicationContext方法中,發現它建立好 IOC 容器後存放到servletContext域物件中

③、那麼它是如何獲取到Spring的配置檔案的呢?

在web.xml中配置context-param

 這樣配置了之後呢,就會在 IOC 建立後會根據 Spring 配置檔案所設定

 ServletContext會獲取web.xml中的 param-name為 contextConfigLocation 的值,即applicationContext.xml配置檔案

IOC容器就這樣建立完畢了

 

相關文章