在實際項目中spring的配置文件applicationcontext.xml是經過spring提供的加載機制,自動加載的容器中去,在web項目中,配置文件加載到web容器中進行解析,目前,spring提供了兩種加載器,以供web容器的加載:一種是ContextLoaderListener,另外一種是ContextLoaderServlet。這兩種在功能上徹底相同,只是一種是基於Servlet2.3版本中新引入的Listener接口實現,而另外一種是基於Servlet接口實現,如下是這兩種加載器在web.xml中的時機配置應用:
第一種:
<listener> <listener-class>org.springframework.context.ContextLoaderListener</listener-class> </listener>
另外一種:
<servlet> <servlet-name>context</servlet-name> <servlet-class>org.springframework.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
經過上面的配置,web容器會自動加載applicationcontext.xml初始化。
若是須要指定配置文件的位置,可經過context-param加以指定:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/myApplicationContext.xml</param-value> </context-param>
以後,能夠經過 WebApplicationContextUtils.getWebApplicationContext方法在web應用中獲取applicationcontext的引用。