创建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>
时间: 2025-01-06 11:04:03

创建Spring容器的相关文章

8 -- 深入使用Spring -- 7...1 启动Spring 容器

8.7.1 启动Spring容器 对于使用Spring的Web应用,无须手动创建Spring容器,而是通过配置文件声明式地创建Spring容器.因此,在Web应用中创建Spring容器有如下两种方式: ⊙ 直接在web.xml文件中配置创建Spring容器 ⊙ 利用第三方MVC框架的扩展点,创建Spring容器.

使用Spring容器(一)

Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean. Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源.Hibernate的SessionFactory.事务管理器等.在Spring中,Bean的是一个非常广义的概念

spring容器监听器

web.xml配置文件 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring/spring-*.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.conte

Spring容器启动过程

搞了一年多的Java了,每个项目都在用Spring,这几天没事看了看Spring源码,总结了下Spring容器的启动过程,想把它记录下来,免得忘了 spring容器的启动方式有两种: 1.自己提供ApplicationContext自己创建Spring容器 2.Web项目中在web.xml中配置监听启动 org.springframework.web.context.ContextLoaderListener 先介绍第一种(自创建) ClassPathXmlApplicationContext 

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

Spring 容器像一台构造精妙的机器,我们通过配置文件向机器传达控制信息,机器就能够按照设定的模式进行工作.如果我们将Spring容器比喻为一辆汽车,可以将 BeanFactory看成汽车的发动机,而ApplicationContext则是 整辆汽车,它不但包括发动机,还包括离合器.变速器以及底盘.车身.电气设备等其他组件.在ApplicationContext内,各个组件按部就班. 有条不紊地完成汽车的各项功能. ApplicationContext内部封装 了一个BeanFactory对象

Spring容器-ApplicationContext的启动过程

转载自: http://blog.163.com/[email protected]/blog/static/118777042009410248557/ 这片博客信息量很大,言简意赅.简明扼要地说清楚了Spring容器的启动过程,前面红色的“打比方”可以忽略... Spring容器像一台构造精妙的机器,我们通过配置文件向机器传达控制信息,机器就能够按照设定的模式进行工作.如果我们将Spring容器比喻为一辆汽车,可以将BeanFactory看成汽车的发动机,而ApplicationContex

Spring-----4、使用Spring容器

Spring有两个核心接口:BeanFactory和ApplicationContext(BeanFactory的子接口):他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并管理容器中的Bean:Bean是Spring管理的基本单位,在基于Spring的JavaEE应用中,所有的组件都被当成Bean处理,包括数据源.Hibernate的SesisonFactoy.事务管理器等 应用中的所有组件,都处于Spring的管理下,都被Spring以Bean的方式管理,Spring

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

Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean. Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源.Hibernate的SessionFactory.事务管理器等.在Spring中,Bean的是一个非常广义的概念

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

一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFactory的功能. ApplicationContext允许以声明式方式操作容器,无须手动创建它.在Web应用启动时自动创建ApplicationContext.当然,也可以采用编程方式创建ApplicationContext. 除了提供BeanFactory所支持的全部功能外,Applicatio