Spring與Web專案整合的原理
阿新 • • 發佈:2018-12-24
引言:
在剛開始我們接觸IOC時,我們載入並啟用SpringIOC是通過如下程式碼手動載入 applicationContext.xml 檔案,new出context物件,完成Bean的建立和屬性的注入。
public class TestIOC {
@Test
public void testUser() {
// 1.載入Spring配置檔案,建立物件
ApplicationContext context = new ClassPathXmlApplicationContext("/spring/applicationContext.xml ");
// 2.得到配置建立的物件
Person person = (Person) context.getBean("person");
// 3.呼叫bean物件中的方法
person.test1();
}
}
注意:這只是測試程式碼,我們使用 Junit 進行單元測試,如果我們在實際生產過程中,每次建立物件都使用該程式碼載入配置檔案,再建立物件。這種方法當然不可取,太浪費資源。其實,Spring早就幫我們解決了這個問題。
Spring和Web專案整合原理:
1、實現思想:
把載入配置檔案和建立物件的過程,在伺服器啟動時完成。
2、實現原理:
(1)ServletContext物件
(2)監聽器
3、具體使用:
(1)在伺服器啟動時候,會為每個專案建立一個ServletContext物件
(2)在ServletContext物件建立的時候,使用監聽器(ServletContextListener)可以知道ServletContext物件在什麼時候建立
(3)監聽到ServletContext物件建立的時候,即在監聽器的 contextInitialized()方法中載入Spring的配置檔案,把配置檔案配置物件建立
(4) 把創建出來的物件放到ServletContext域物件裡面(setAttribute方法),獲取物件的時候,從ServletContext域裡得到(getAttribute方法)
未完待續...............