对于使用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容器的更多相关文章

  1. 创建 Spring容器的三种方式

    一.src路径下打包完在war包的classes层级下 1.Spring容器创建的三种方式 创建Bean容器之后创建对象: 其中第三种使用的是BeanFactory对象 2.spring通过配置文件用 ...

  2. Spring 读书笔记-----使用Spring容器(一)

    pring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spri ...

  3. Spring读书笔记-----使用Spring容器(二)

    一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFa ...

  4. spring源码学习之:spring容器的applicationContext启动过程

    Spring 容器像一台构造精妙的机器,我们通过配置文件向机器传达控制信息,机器就能够按照设定的模式进行工作.如果我们将Spring容器比喻为一辆汽车,可以将 BeanFactory看成汽车的发动机, ...

  5. (转)Spring读书笔记-----使用Spring容器(二)

    一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFa ...

  6. (转)Spring 读书笔记-----使用Spring容器(一)

    Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spr ...

  7. 简述Spring容器与SpringMVC的容器的联系与区别

    简述Spring容器与SpringMVC的容器的联系与区别 2017年07月04日 10:55:07 阅读数:6260 摘要: 在Spring整体框架的核心概念中,容器的核心思想是管理Bean的整个生 ...

  8. springMVC容器和Spring容器

    前段时间有人问我,为什么一定要在web.xml中配置spring的listener呢? <listener> <description>spring监听器</descri ...

  9. web spring 容器

    使用spring的web应用时,不用手动创建spring容器,而是通过配置文件声明式地创建spring容器,因此,在web应用中创建spring容器有如下两种方式: 一.直接在web.xml文件中配置 ...

随机推荐

  1. fragment 切换

    1.Fragment的添加方式 FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.hide ft.show ft ...

  2. eclipse创建本地maven

    一.下载maven安装包和maven的eclipse插件 apache-maven-3.3.9-bin.zip eclipse-maven-plugin.zip 下载地址:http://pan.bai ...

  3. Jmeter组件执行顺序与作用域

    一.Jmeter重要组件: 1)配置元件---Config Element: 用于初始化默认值和变量,以便后续采样器使用.配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同 ...

  4. ASP.NET动态加载用户控件的方法

    方法是使用LoadControl方法,根据用户控件的相对路径,动态生成用户控件对象 用户控件 public class UserControlA :UserControl { public UserC ...

  5. Windows7下安装MongoDB(转)

    1.下载 地址:http://www.mongodb.org/downloads(32位还是64位自行选择). 我下载的是:mongodb-win32-x86_64-2.4.5.zip 2.解压 把m ...

  6. Swing应用开发实战系列之三:动态信息提示窗口

    这里所说的“动态信息提示窗口”可不同于JOptionPane中的Message窗口和Confirm窗口,它们都是静态的模态的,更重要的是线程阻塞的,迫使你必须选择某个动作才能继续执行.我们接下来要分享 ...

  7. mini2440的SDRAM分析

    首先是2440的存储控制器: 暂时不管是从nand启动还是nor启动,因为我现在只关注内存,从上图可以看到由2440的Memory Controller可以寻址的范围是0x0000,0000---0x ...

  8. HTML5性能优化

    HTML5性能优化 在看完这两章内容之后,我意犹未尽,于是乎从网上搜索关键字“Java Web高性能”,在IBM社区找到两篇不错的文章,而让人更意外的是我发现那两篇文章的内容跟<高性能HTML5 ...

  9. python中的自测语句是什么?

    if __name__ == '__main__': main() 以上

  10. UESTC 1227 & POJ 3667 Hotel

    非常细腻的线段树题目啊,后来还是有个细节写错了,查了一个晚上..就不分析了. 代码: #include <iostream> #include <cstdio> #includ ...