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种实现",是指Spring框架中用于初始化和管理bean的三种主要类,它们分别是: 1. ClassPathXmlApplicationContext:这是最常用的ApplicationContext实现之一,通过读取...
3. **事件传递**:通过`ApplicationEvent`和`ApplicationListener`机制,`ApplicationContext`可以实现容器内对象之间的事件广播和监听,增强应用组件间的通信能力。 4. **多配置文件加载**:`ApplicationContext`...
在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...
虽然ApplicationContext本身不直接处理AOP,但它通过配合AOP代理(如DefaultListableBeanFactory中的ProxyFactoryBean)和Advisor,实现了AOP的配置和应用。 8. **其他功能**: ApplicationContext还支持Bean的懒...
SpringBoot获取ApplicationContext的3种方式 在SpringBoot中,获取ApplicationContext是非常重要的,因为ApplicationContext是Spring中的核心容器,提供了许多有用的功能,如获取容器中的各种bean组件、注册监听...
ApplicationContext.xml 配置详解 ApplicationContext.xml 是 Spring 框架中用于配置应用程序的核心配置文件。通过该文件,可以定义 Bean、数据源、Session 工厂、 Hibernate 配置等相关信息,从而实现应用程序的...
`ApplicationContext`本身实现了`ApplicationEventPublisher`接口,这意味着它可以用来发布事件。 4. **ApplicationEventPublisher**:这是一个接口,它定义了一个方法`publishEvent`用于发布事件。 #### 三、事件...
ApplicationContext.xml详解 ApplicationContext.xml是Spring框架中的核心配置文件,它是Spring的IOC(Inverse of Control,...通过配置ApplicationContext.xml文件,我们可以轻松地实现Spring应用程序的开发和维护。
在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...
回到我们的项目"SpringJavaProject",它可能包含了一些示例代码,演示了如何配置和使用ApplicationContext来实现国际化和事件传递。例如,我们可能会有一个`MessageSource`配置,用于加载资源束,以及一个或多个`...
而`ApplicationContext.xml`文件则是Spring框架的核心配置文件,它是整个Spring应用上下文的起点。本文将深入探讨`ApplicationContext.xml`的结构、作用以及相关的配置知识点。 1. **ApplicationContext的定义** `...
`ApplicationContext`接口在Spring框架中扮演着至关重要的角色,它是Spring容器的一种高级形式,提供了比基础的`BeanFactory`更多的功能。`ApplicationContext`接口继承自多个接口,包括`BeanFactory`、`...
在Spring框架中,`applicationContext.xml`是核心的配置文件,它定义了bean的实例化、依赖注入、服务的装配以及整个应用上下文的行为。在Spring 2.5版本中,这个配置文件引入了许多增强的功能,提升了开发效率和灵活...
其中,`applicationContext.xml`是Spring框架的核心配置文件之一,它用于管理应用上下文中的各种Bean以及它们之间的依赖关系。本文将详细介绍`applicationContext.xml`文件的结构、各个元素的作用以及如何正确配置。...
首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义了Bean的定义、依赖注入关系以及服务的配置。在这个特定的场景中,`applicationContext.xml`将包含与Quartz相关的配置,如Scheduler、Job、...
在Spring框架中,ApplicationContext是IoC容器的核心,它不仅负责管理Bean,还提供了实现国际化(i18n)的功能。国际化使应用程序能够适应不同语言和地区的用户,无需修改代码即可提供多语言支持。Spring通过实现...
在Spring中,应用上下文(ApplicationContext)是bean的工厂,它负责加载和管理所有的bean实例。开发者可以在这个文件中定义bean的类、属性、初始化方法、生命周期回调等,实现对象的创建和管理。此外,`...