`

ApplicationContext

阅读更多
spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和XmlWebApplicationContext,其中XmlWebApplicationContext是专为Web工程定制的。使用举例如下:
   1. FileSystemXmlApplicationContext
           eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加载单个配置文件
           eg2.
                   String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
                   ApplicationContext ctx = new FileSystemXmlApplicationContext(locations ); //加载多个配置文件
           eg3.        
        ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");//根据具体路径加载文件
  2. ClassPathXmlApplicationContext
           eg1.  ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
           eg2.
                   String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
                   ApplicationContext ctx = new ClassPathXmlApplication(locations);
           注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与BeanFactory的xml文件定位方式一样是基于路径的。
3. XmlWebApplicationContext
       eg1. ServletContext servletContext = request.getSession().getServletContext();   
            ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);




注 : 一般是 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());


加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。
         这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。

配置非常简单,在web.xml中增加:
<listener>
       <listener-class>
          org.springframework.web.context.ContextLoaderListener
       </listener-class>
</listener>
或:
<servlet>
         <servlet-name>context</servlet-name>
         <servlet-class>
           org.springframework.web.context.ContextLoaderServlet
         </servlet-class>
         <load-on-startup>1</load-on-startup>
</servlet>  


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

配置完成之后,即可通过
WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。

如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();
         LoginAction action=(LoginAction)ctx.getBean("action");
分享到:
评论

相关推荐

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

    在Spring中,ApplicationContext(应用程序上下文)是容器的核心,负责配置和管理应用中对象的生命周期和依赖关系。在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring...

    applicationContext.xml 详细配置

    ApplicationContext.xml 配置详解 ApplicationContext.xml 是 Spring 框架中用于配置应用程序的核心配置文件。通过该文件,可以定义 Bean、数据源、Session 工厂、 Hibernate 配置等相关信息,从而实现应用程序的...

    applicationContext

    applicationContext applicationContext

    ApplicationContext及它的3种实现

    ### ApplicationContext及它的3种实现 #### 一、概述 在Spring框架中,`ApplicationContext`是`BeanFactory`接口的一个扩展,提供了更为丰富的功能和服务。它不仅继承了`BeanFactory`的所有特性,还增加了如资源...

    Spring中ApplicationContext加载机制

    Spring中ApplicationContext加载机制 ApplicationContext 是 Spring 框架中的核心组件之一,负责加载和管理应用程序中的 Bean 对象。在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供...

    spring 获得applicationcontext公用方法

    在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...

    Spring中ApplicationContext和beanfactory区别.rar

    在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...

    spring的Applicationcontext对事件的监听,实现类似MQ的效果

    在Spring框架中,`ApplicationContext`不仅是一个容器,用于管理Bean的生命周期和依赖注入,它还提供了事件发布和监听的功能。这个特性使得Spring应用能够实现组件间的异步通信,类似于消息队列(MQ)的工作模式。...

    三、Spring源码分析——ApplicationContext

    《Spring源码分析——ApplicationContext》 在Java世界中,Spring框架是不可或缺的一部分,它以其强大的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)特性,极大地...

    applicationcontext

    标题“applicationcontext”通常在IT领域中指的是Spring框架中的ApplicationContext,它是Spring IoC(Inversion of Control)容器的核心。ApplicationContext负责加载配置元数据,管理Bean的生命周期,并提供Bean...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    在 Spring 中,ApplicationContext 是一个至关重要的接口,它是应用上下文的实现,负责管理bean的生命周期和装配。标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一...

    applicationContext.xml详解

    ### Spring框架中的applicationContext.xml详解 在深入探讨`applicationContext.xml`之前,我们先了解下Spring框架。Spring是一个开源框架,旨在简化企业级Java应用程序的开发。它通过提供一种依赖注入(Dependency...

    Spring中ApplicationContext对事件传递

    ### Spring框架中ApplicationContext的事件传递机制详解 #### 一、引言 在Spring框架中,事件处理机制是一项非常重要的功能,它使得应用可以更加灵活地响应各种系统内部或外部的事件变化。本篇文章将深入探讨...

    spring3.0 + Quartz1.52 + applicationContext.xml

    这个压缩包“spring3.0 + Quartz1.52 + applicationContext.xml”显然是一个关于如何在Spring 3.0环境中集成Quartz 1.52版本的示例或教程资源。 首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义...

    day38 05-Spring的BeanFactory与ApplicationContext区别

    在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入掌握Spring框架至关重要。 首先,BeanFactory是Spring中最基本的bean容器,它提供了对...

    spring2.5的applicationContext配置文件

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

    log4j和ApplicationContext、ehcache

    通过`applicationContext.xml`或`@Configuration`注解的Java类,开发者可以定义Bean的配置,实现服务的初始化和管理。 **ehcache缓存** Ehcache是一种高性能的Java分布式内存缓存,用于提高应用程序性能,减少对...

    《Spring的数据源配置文件模板》applicationContext.zip

    `applicationContext.xml`是Spring应用上下文配置文件,通常用于定义bean的声明、依赖注入以及数据源的相关配置。本文件模板将详细介绍如何在Spring中配置数据源,以便为你的应用程序提供稳定、高效的数据库连接。 ...

    SSH框架applicationContext.xml头部文件

    ### SSH框架applicationContext.xml头部文件知识点解析 #### 一、SSH框架简介 SSH框架是Struts+Spring+Hibernate三个开源框架的组合,是中国开发者对这三个框架整合应用的一种简称。其中Struts负责MVC(Model-View-...

Global site tag (gtag.js) - Google Analytics