`

ApplicationContext及它的3种实现

 
阅读更多
ApplicationContext 是 BeanFactory 接口的子接口,它增强了 BeanFactory 的功能,处于 context 包下。很多时候, ApplicationContext 允许以声明式方式操作容器,无须手动创建。可利用如 ContextLoader 的支持类,在 Web 应用启动时自动创建 ApplicationContext。当然,也可以采用编程方式创建 ApplicationContext。

context 的基础是 ApplicationContext 接口,它继承 BeanFactory 接口,并提供BeanFactory 所有的功能。为了以一种更加面向框架的方式工作, context 包使用分层和有继承关系的上下文类,包括以下几种:

1.       MessageSource,提供国际化支持。

2.       资源访问,比如 URL 和文件。

3.       事件传递。

4.       载入多个配置文件。

ApplicationContext包括BeanFactory的全部功能,因此建议优先使用ApplicationContext。除非对于某些内存非常关键的应用,才考虑使用 BeanFactory。

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);
分享到:
评论

相关推荐

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

    标题提到的"spring为ApplicationContext提供的3种实现",是指Spring框架中用于初始化和管理bean的三种主要类,它们分别是: 1. ClassPathXmlApplicationContext:这是最常用的ApplicationContext实现之一,通过读取...

    ApplicationContext及它的3种实现.docx

    3. **事件传递**:通过`ApplicationEvent`和`ApplicationListener`机制,`ApplicationContext`可以实现容器内对象之间的事件广播和监听,增强应用组件间的通信能力。 4. **多配置文件加载**:`ApplicationContext`...

    spring 获得applicationcontext公用方法

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

    三、Spring源码分析——ApplicationContext

    虽然ApplicationContext本身不直接处理AOP,但它通过配合AOP代理(如DefaultListableBeanFactory中的ProxyFactoryBean)和Advisor,实现了AOP的配置和应用。 8. **其他功能**: ApplicationContext还支持Bean的懒...

    SpringBoot获取ApplicationContext的3种方式

    SpringBoot获取ApplicationContext的3种方式 在SpringBoot中,获取ApplicationContext是非常重要的,因为ApplicationContext是Spring中的核心容器,提供了许多有用的功能,如获取容器中的各种bean组件、注册监听...

    applicationContext.xml 详细配置

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

    Spring中ApplicationContext对事件传递

    `ApplicationContext`本身实现了`ApplicationEventPublisher`接口,这意味着它可以用来发布事件。 4. **ApplicationEventPublisher**:这是一个接口,它定义了一个方法`publishEvent`用于发布事件。 #### 三、事件...

    applicationContext.xml详解

    ApplicationContext.xml详解 ApplicationContext.xml是Spring框架中的核心配置文件,它是Spring的IOC(Inverse of Control,...通过配置ApplicationContext.xml文件,我们可以轻松地实现Spring应用程序的开发和维护。

    Spring中ApplicationContext和beanfactory区别.rar

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

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

    回到我们的项目"SpringJavaProject",它可能包含了一些示例代码,演示了如何配置和使用ApplicationContext来实现国际化和事件传递。例如,我们可能会有一个`MessageSource`配置,用于加载资源束,以及一个或多个`...

    ApplicationContext.xml

    而`ApplicationContext.xml`文件则是Spring框架的核心配置文件,它是整个Spring应用上下文的起点。本文将深入探讨`ApplicationContext.xml`的结构、作用以及相关的配置知识点。 1. **ApplicationContext的定义** `...

    ApplicationContext容器的uml类图

    `ApplicationContext`接口在Spring框架中扮演着至关重要的角色,它是Spring容器的一种高级形式,提供了比基础的`BeanFactory`更多的功能。`ApplicationContext`接口继承自多个接口,包括`BeanFactory`、`...

    spring2.5的applicationContext配置文件

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

    applicationContext.xml用法

    其中,`applicationContext.xml`是Spring框架的核心配置文件之一,它用于管理应用上下文中的各种Bean以及它们之间的依赖关系。本文将详细介绍`applicationContext.xml`文件的结构、各个元素的作用以及如何正确配置。...

    spring3.0 + Quartz1.52 + applicationContext.xml

    首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义了Bean的定义、依赖注入关系以及服务的配置。在这个特定的场景中,`applicationContext.xml`将包含与Quartz相关的配置,如Scheduler、Job、...

    09 Spring IoC容器ApplicationContext如何实现国际化慕课专栏1

    在Spring框架中,ApplicationContext是IoC容器的核心,它不仅负责管理Bean,还提供了实现国际化(i18n)的功能。国际化使应用程序能够适应不同语言和地区的用户,无需修改代码即可提供多语言支持。Spring通过实现...

    applicationContext.xml等文件.rar

    在Spring中,应用上下文(ApplicationContext)是bean的工厂,它负责加载和管理所有的bean实例。开发者可以在这个文件中定义bean的类、属性、初始化方法、生命周期回调等,实现对象的创建和管理。此外,`...

Global site tag (gtag.js) - Google Analytics