1. 程式人生 > >Spring與Web專案整合的原理

Spring與Web專案整合的原理

引言:

  在剛開始我們接觸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方法)

 

 

未完待續...............