首页 > 代码库 > 创建Spring容器
创建Spring容器
对于使用Spring的web应用,无须手动创建Spring容器,而是通过配置文件,声明式的创建Spring容器。
在Web应用中,创建Spring容器有如下两种方式:
1、直接在web.xml文件中配置;
2、利用第三方MVC框架的扩展点。
ContextLoaderPlugIn(要导入org.springframework.web.struts-3.0.5.RELEASE.jar包,在struts2.0及以后版本不支持此种方式加载spring)
直接在web.xml文件中配置的方式是更常见。
为了让Spring容器随Web应用的启动而启动,有如下两种方式:
1、利用ServletContextListener实现。
2、利用load-on-startup Servlet(ContextLoaderServlet)实现。(spring3.0及以后版本中已经删除ContextLoaderServlet和Log4jConfigServlet)
<servlet> <servlet-name>context</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
Spring提供ServletContextListener的一个实现类ContextLoaderListener,该类可以作为Listener使用,
它会在创建时自动查找WEB-INF下的applicationContext.xml文件,
因此如果只有一个配置文件,并且文件名为applicationContext.xml,
则只需在web.xml文件中增加以下配置片段就可以了。
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
如果有多个配置文件需要载入,则考虑使用<context-param>元素来确定配置文件的文件名。
ContextLoaderListener加载时,会查找名为contextConfigLocation的初始化参数。
因此配置<context-param>时就指定参数名为contextConfigLocation。
带多个配置文件的web.xml文件如下,多个配置文件之间用“,”隔开。
<context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/*.xml,classpath:spring/*.xml</param-value> <!--<param-value>classpath:spring*.xml</param-value>--> </context-param>
创建Spring容器