`
liyixing1
  • 浏览: 967112 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

ApplicationContext在WEB应用中的实例化

阅读更多
与BeanFactory通常以编程的方式被创建不同的是,ApplicationContext能以声明的方式创建,如使用ContextLoader。当然你也可以使用ApplicationContext的实现之一来以编程的方式创建ApplicationContext实例。首先,让我们先分析ContextLoader接口及其实现。

ContextLoader机制有两种方式,ContextLoaderListener 和ContextLoaderServlet,他们功能相同但是listener不能在Servlet2.3容器下使用。Servlet2.4规范中servlet context listeners需要在web应用启动并能处理初始请求时立即运行。(servlet context listener关闭的时候也是相同的)。servlet context listener是初始化Spring ApplicationContext理想的方式。你可能愿意选择ContextLoaderListener,虽然是一样的,但决定权在于你。

可以象下面所示例的一样使用ContextLoaderListener注册一个ApplicationContext

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- or use the ContextLoaderServlet instead of the above listener
<servlet>
  <servlet-name>context</servlet-name>
  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
-->
监听器首先检查contextConfigLocation参数,如果它不存在,它将使用/WEB-INF/applicationContext.xml作为默认值。如果已存在,它将使用分隔符(逗号、冒号或空格)将字符串分解成应用上下文件位置路径。可以支持ant-风格的路径模式,如/WEB-INF/*Context.xml(WEB-INF文件夹下所有以"Context.xml"结尾的文件)。或者/WEB-INF/**/*Context.xml(WEB-INF文件夹及子文件夹下的以"Context.xml"结尾的文件)。

ContextLoaderServlet同ContextLoaderListener一样使用'contextConfigLocation'参数。


在servlet中可用此取得User对象
WebApplicationContext   ctx=WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
User   user   =   (User)ctx.getBean( "user ");
String   userName   =   user.getUserName();
分享到:
评论

相关推荐

    Spring中ApplicationContext加载机制

    通过以上配置,Web 容器会自动加载 /WEB-INF/applicationContext.xml 初始化 ApplicationContext 实例,如果需要指定配置文件位置,可通过 context-param 加以指定: ```xml &lt;param-name&gt;contextConfigLocation ...

    Spring获取ApplicationContext对象工具类的实现方法

    值得注意的是,在Web应用中,通常推荐使用ServletContextListener来初始化ApplicationContext,并将其存储在ServletContext中供整个应用使用。这样可以更加高效和方便地管理ApplicationContext的生命周期,并且能够...

    web容器中实例化spring相关配置解析

    Web容器中实例化Spring相关配置解析是指在Web容器中实例化Spring容器的相关配置解析。Spring框架是JavaEE应用程序的核心框架之一,它提供了丰富的功能和工具来开发企业级应用程序。为了在Web容器中实例化Spring容器...

    struts.xml和applicationContext.xml、web.xml的配置

    在Java Web开发中,`struts.xml`, `applicationContext.xml` 和 `web.xml` 是三个至关重要的配置文件,它们各自负责不同的职责,并协同工作来构建一个完整的应用框架。以下是关于这三个配置文件的详细说明。 首先,...

    Sping翻转控制器

    - **示例**:参考Section3.8.4,“ApplicationContext在WEB应用中的实例化”。 #### 五、总结 通过本章的学习,我们深入了解了Spring框架中控制反转(IoC)的概念及其核心组件——BeanFactory和ApplicationContext...

    spring在web.xml中和在struts中的不同配置..pdf

    在Web应用中,我们使用的是WebApplicationContext,它是ApplicationContext的子类,专门针对Web环境进行了扩展。在Spring中,Bean的实例化、管理和依赖注入都在这个容器中完成。 在`web.xml`中配置Spring,主要涉及...

    21-04-11_IOCDefaultDIPattern(001_通过默认ICO容器和自定义实现类的实例化操作_Web).rar

    【描述】中的信息较为简洁,但可以推测这个压缩包包含的资料可能是关于Spring框架中的IoC容器如何工作,以及如何配置和使用它来实例化自定义的实现类,特别是在Web应用的上下文中。 【标签】"默认ICO容器"进一步...

    spring 获得applicationcontext公用方法

    - 在Web应用中,推荐使用Servlet监听器来初始化`ApplicationContext`,以便在应用启动时加载,同时避免在多线程环境下可能出现的问题。 - 避免在不必要的情况下传播`ApplicationContext`,因为这可能导致不必要的...

    Spring源代码解析(二):IoC容器在Web容器中的启动.doc

    `ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE`常量用于在`ServletContext`中存储根`WebApplicationContext`的引用,这样Web应用的其他部分就可以找到并使用这个容器。 `XmlWebApplicationContext`是`...

    web项目实例21

    【标题】"Web项目实例21"是一个基于SpringMVC、Maven和Oracle...此外,你还可以了解到如何将这些技术整合在一起,构建出一个响应速度快的Web应用。这样的经验对于提升个人的IT技能和未来的职业发展都是非常有价值的。

    Spring源码学习七:web应用自动装配Spring配置文件1

    在Spring框架中,当我们将它应用于Web应用程序时,需要进行特殊的配置来自动加载Spring的配置文件。本文主要围绕"Spring源码学习七:web应用自动装配Spring配置文件1"这一主题,详细解析Web环境中Spring的初始化过程...

    ioc容器在Web容器中的启动.pdf

    在Web应用程序中,Spring的IOC(Inversion of Control)容器是核心组件,它负责管理和装配应用中的对象。本文将深入探讨Spring IOC容器在Web容器(如Tomcat、Jetty等)中的启动流程。 首先,Spring提供了`...

    web.xml中ContextLoaderListener的运行过程解析

    综上所述,`web.xml`中的`ContextLoaderListener`配置是Spring框架在Web应用中的关键配置,它负责创建和管理Spring的全局ApplicationContext,使得其他Web组件可以方便地利用Spring的依赖注入功能。

    spring4的所有jar包+applicationContext.xml+web.xml

    在`applicationContext.xml`中,我们可以声明bean的实例化、属性注入、bean之间的依赖关系、AOP配置以及数据源和事务管理器等。通过使用XML配置,开发者可以灵活地控制对象的生命周期和行为。 3. **Web.xml**:这是...

    spring4.0 Conditional在满足特定条件下,才会实例化对象.docx

    Spring 4.0 引入了@Conditional注解,它提供了一种更加灵活的方式来决定何时实例化一个对象,根据特定的条件。这个功能使得我们能够更精细化地控制Spring容器中的bean装配,仅在满足特定条件时才创建和注册bean。 ...

    spring2.5的applicationContext配置文件

    在Spring框架中,`applicationContext.xml`是核心的配置文件,它定义了bean的实例化、依赖注入、服务的装配以及整个应用上下文的行为。在Spring 2.5版本中,这个配置文件引入了许多增强的功能,提升了开发效率和灵活...

    Spring在web下启动流程学习笔记

    在Spring框架中,Web应用的启动流程涉及到多个关键组件和步骤。本文将深入探讨Spring在Tomcat环境下如何初始化并创建ApplicationContext,以及Spring MVC与Spring协同工作时的应用上下文创建过程。 首先,我们关注...

    Spring框架配置java web实现实例化

    Spring框架配置是指在Java Web应用程序中使用Spring框架进行配置的过程。Spring框架配置的目标是将Java Bean对象的创建和依赖关系管理交给Spring框架来处理,从而实现了松耦合和高内聚的系统设计理念。 知识点2:...

    Spring获取webapplicationcontext,applicationcontext几种方法详解

    在独立应用程序中,通过手工初始化 Spring 容器,可以使用以下方式获取 ApplicationContext 对象: `ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");` `ac.getBean("bean...

    Spring3.1.3 Ioc在Web容器中的建立

    1. **web.xml配置**:在传统的Web应用中,我们通常会在`web.xml`部署描述符中配置一个Spring的`ContextLoaderListener`,它会启动一个全局的ApplicationContext,处理整个Web应用的bean。 ```xml ...

Global site tag (gtag.js) - Google Analytics