`
jasonw68
  • 浏览: 154267 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ApplicationContext应用

    博客分类:
  • J2SE
阅读更多
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与Web环境集成.pdf

    1. ApplicationContext应用上下文获取方式 在Spring框架中,ApplicationContext是应用程序的核心容器,它负责管理应用程序中的Bean对象。通常,ApplicationContext对象是通过new ClassPathXmlApplicationContext...

    ApplicationContext及它的3种实现

    这使得`ApplicationContext`成为开发人员在构建应用程序时的首选容器。 #### 二、`ApplicationContext`的关键特性 1. **国际化支持**:通过`MessageSource`接口提供,使应用程序能够轻松地进行多语言支持。 2. **...

    Spring与Web环境集成1

    在这个过程中,主要涉及的关键点是ApplicationContext应用上下文的获取和管理。 1. **ApplicationContext应用上下文获取方式**: 在非Web环境下,我们通常通过`new ClasspathXmlApplicationContext(spring配置文件...

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

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

    Spring中ApplicationContext加载机制

    在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供了多种方式来加载 ApplicationContext。 首先,Spring 提供了两种选择来加载 ApplicationContext:ContextLoaderListener 和 ...

    spring 获得applicationcontext公用方法

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

    applicationContext.xml 详细配置

    ApplicationContext.xml 是 Spring 框架中用于配置应用程序的核心配置文件。通过该文件,可以定义 Bean、数据源、Session 工厂、 Hibernate 配置等相关信息,从而实现应用程序的自动装配和依赖注入。 一、XML 声明...

    Spring中ApplicationContext和beanfactory区别.rar

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

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

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

    三、Spring源码分析——ApplicationContext

    总的来说,ApplicationContext作为Spring的核心组件,扮演着应用程序的“大脑”角色,它负责管理和协调整个Spring容器中的Bean。理解并掌握ApplicationContext的工作原理和使用技巧,对于深度开发和优化Spring应用至...

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...

    JSP Spring ApplicationContext的国际化支持

    JSP Spring ApplicationContext的国际化支持 1.ApplicationContext接口继承了MessageResource接口,因此使用ApplicationContext作为spring容器可以使用国际化资源文件。 2.在MessageResource接口中定义了两个主要...

    applicationContext.xml详解

    在Spring应用程序中,ApplicationContext.xml文件主要用于定义以下几种类型的Bean: 1. 数据源Bean(DataSource):用于定义和配置数据库连接的信息,例如数据库驱动、数据库连接URL、用户名和密码等。 2. 会话工厂...

    ApplicationContext.xml

    其中,`ApplicationContext.xml`文件是Spring框架的核心配置文件,它是整个应用的上下文定义,负责管理和装配Bean。这篇博文将深入解析`ApplicationContext.xml`,探讨其重要性、基本结构以及如何使用。 首先,理解...

    day38 05-Spring的BeanFactory与ApplicationContext区别

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

    spring3.0帮助文档

    Spring 3.0 版本在设计之初就考虑到了对Java 5的支持,并且引入了新的模块化组织结构以及构建系统,这些变化使得Spring 3.0成为了更为强大和灵活的应用开发平台。 #### 二、Spring 3.0 的主要特性 ##### 2.1 Java ...

    Spring中ApplicationContext对事件传递

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

    ApplicationContext容器的uml类图

    `ApplicationContext`接口继承自多个接口,包括`BeanFactory`、`ApplicationEventPublisher`、`ResourcePatternResolver`、`MessageSource`等,这使得`ApplicationContext`能够支持更加复杂的应用场景需求。...

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

    下面我们将深入探讨Spring的`ApplicationContext`如何实现事件监听以及其在实际开发中的应用。 首先,`ApplicationContext`的事件处理机制是基于Java的`java.util.EventObject`类的。Spring定义了一个名为`...

Global site tag (gtag.js) - Google Analytics