標籤:指定 listener XML list load 5.x name 解決 2.3
Spring為此提供了兩種解決方案,一種是基於ContextLoaderListener實現的(此方案只適用於Servlet2.4及以上規範的Servlet容器)。例如,在web.xml中加入如下代碼:<!-- 指定Spring的設定檔,多個設定檔以逗號分隔 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-config/applicationContext.xml</param-value></context-param><!-- 指定以Listener方式啟動Spring容器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>另外一種方案則是基於ContextLoaderServlet實現的。例如,在web.xml中加入如下代碼:<!-- 指定Spring的設定檔,多個設定檔以逗號分隔 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-config/applicationContext.xml</param-value></context-param><!-- 指定以Servlet方式啟動Spring容器 --><servlet><servlet-name>context</servlet-name><servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class><load-on-startup>1</load-on-startup></servlet> 從servlet容器啟動時載入組件的順序來看(ServletContext-> listener ->filter -> servlet),Listener組件是優先於Servlet組件的。基於Servlet方式的載入方案主要是為了相容Servlet2.3及以下規範的Servlet容器。以Tomcat為例,Tomcat 5.x都已經支援Servlet2.4規範了,因此,基於Listener方式啟動Spring容器是目前的主流選擇。
web項目的ApplicationContext執行個體化