BeanFactory和ApplicationContext有什么区别?

BeanFactory 可以理解为含有bean集合的工厂类。BeanFactory 包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。
BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法(initialization methods)和销毁方法(destruction methods)。
从表面上看,application context如同bean factory一样具有bean定义、bean关联关系的设置,根据请求分发bean的功能。但application context在此基础上还提供了其他的功能。

  1. 提供了支持国际化的文本消息
  2. 统一的资源文件读取方式
  3. 已在监听器中注册的bean的事件
    以下是三种较常见的 ApplicationContext 实现方式:
    1、ClassPathXmlApplicationContext:从classpath的XML配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中取得。
    ApplicationContext context = new ClassPathXmlApplicationContext(“bean.xml”);
    2、FileSystemXmlApplicationContext :由文件系统中的XML配置文件读取上下文。
    ApplicationContext context = new FileSystemXmlApplicationContext(“bean.xml”);
    3、XmlWebApplicationContext:由Web应用的XML文件读取上下文。

原文地址:http://blog.51cto.com/10896834/2141386

时间: 2024-10-15 06:04:44

BeanFactory和ApplicationContext有什么区别?的相关文章

单例模式&BeanFactory与 ApplicationContext之间的区别

BeanFactory博客书写 使用对象的时候创建,这是和ApplicationContext的区别 Resource resource=new ClassPathResource("applicationContext.xml"); BeanFactory ctx=new XmlBeanFactory(resource); 获取到上下文,并没有初始化bean,等待使用bean的时候才初始化 ApplicationContext ctx=new ClassPathXmlApplicat

BeanFactory和ApplicationContext的作用和区别

BeanFactory和ApplicationContext的作用和区别 作用: 1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期. 2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持b. 资源访问:Resource rs = ctx. getResource(”classpath:config.properties”), 

Spring中BeanFactory和ApplicationContext的区别

我用一个例子去测试BeanFactory和ApplicationContext的区别 首先建立一个bean public class User {//声明无参构造,打印一句话,监测对象创建时机 public User(){ System.out.println("User对象初始化"); } } 然后再建立测试类 public class UserTest { @Test public void ApplicationContexttest(){ ApplicationContext

Spring之BeanFactory与ApplicationConText区别

使用BeanFactory从xml配置文件加载bean: import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class XmlConfigWithBeanFactory {     public static void main(String[] args) { XmlBeanFactory facto

Spring的beanFactory与ApplicationContext区别

BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP功能.Web应用等.   ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能.ApplicationContext以一种更向面向框架的方式工作以及对上下文进行分层和实现继承,ApplicationContext包还提供了以下的功

BeanFactory 和ApplicationContext

BeanFactory和ApplicationContext对待bean后置处理器稍有不同.ApplicationContext会自动检测在配置文件中实现了BeanPostProcessor接口的所有bean,并把它们注册为后置处理器,然后在容器创建bean的适当时候调用它.部署一个后置处理器同部署其他的bean并没有什么区别.而使用BeanFactory实现的时候,bean后置处理器必须通过下面类似的代码显式地去注册. 参考资料:http://blog.csdn.net/chensugang/

BeanFactory和ApplicationContext的介绍

------------------siwuxie095 Spring 通过一个配置文件描述 Bean 和 Bean 之间的依赖关系, 利用 Java 语言的反射功能实例化 Bean,并建立 Bean 之间的 依赖关系 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实例缓存.生命周期管理.Bean 实例代理.事件发布 和 资源装载 等高级服务 BeanFactory 是 Spring 框架最核心的接口,它提供了高级 IoC 的 配置机制,BeanFactory 使

Spring系列之beanFactory与ApplicationContext

一.BeanFactoryBeanFactory 是 Spring 的“心脏”.它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化.配置和管理 Bean. BeanFactory:是IOC容器的核心接口, 它定义了IOC的基本功能,我们看到它主要定义了getBean方法.getBean方法是IOC容器获取bean对象和引发依赖注入的起点.方法的功能是返回特定的名称的Bean. BeanFactory 是初始化 Bean 和调用它们生命周期方法的“吃苦

转:Spring系列之beanFactory与ApplicationContext

原文地址:Spring系列之beanFactory与ApplicationContext 一.BeanFactoryBeanFactory 是 Spring 的"心脏".它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化.配置和管理 Bean. BeanFactory:是IOC容器的核心接口, 它定义了IOC的基本功能,我们看到它主要定义了getBean方法.getBean方法是IOC容器获取bean对象和引发依赖注入的起点.方法的功能是返