Bean工厂(BeanFactory接口),提供了基础的依赖注入支持。

应用上下文(ApplicationContext接口),建立在Bean工厂基础之上,提供了系统架构服务。

ApplicationContext提供了更多功能:

1、提供了文本信息解析工具,包括对国际化(I18N)的支持。

2、提供了载入文件资源的通用方法,如载入图片。

3、可以向注册为监听器的Bean发送事件。

ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,
如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常;
而ApplicationContext则在初始化自身是检验,这样有利于检查所依赖属性是否注入;
所以通常情况下我们选择使用ApplicationContext.

BeanFactory基本的工厂
解析,管理,实例化所有容器内的bean的接口,spring中所有解析配置文件的类都直接或者间接实现该接口
ApplicationContext接口implements BeanFactory
创建对象的特点:
BeanFactory 在解析配置文件时并不会初始化对象,只有在使用对象时(getBean())才会对该对象进行初始化
ApplicationContext 在解析配置文件时对配置文件中的所有对象都初始化了,getBean()方法只是获取对象的过程

												

最新文章

  1. 【Junit】JUnit-4.12使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
  2. 一些LUA函数(转载)
  3. POJ -3050 Hopscotch
  4. easyui tree 模仿ztree 使用扁平化加载json
  5. Ubuntu 小技巧
  6. 转:C语言申请内存时堆栈大小限制
  7. 关于java WEB下载
  8. 软件设计之UML—UML中的六大关系
  9. IOC 在Mvc中的使用
  10. 【原创+史上最全】Nginx+ffmpeg实现流媒体直播点播系统
  11. bzoj 2816: [ZJOI2012]网络 (LCT 建多棵树)
  12. Python学习笔记-解释器和中文编码
  13. Node.js开发框架Express4.x
  14. 更改配置:远程访问gitlab的postgresql数据库
  15. 在Centos7上安装配置ss-libev Proxifier
  16. Java基础——TreeSet
  17. HDU2389(KB10-F 二分图最大匹配Hopcroft_Karp)
  18. Clumsy 弱网络环境模拟工具使用介绍
  19. jsp标准动作
  20. http-equiv 了解

热门文章

  1. ASIHTTPRequest下载示例(支持断点续传)
  2. RDMA的ibv_post_send() 函数
  3. JavaScript基础--事件驱动和访问CSS技术(十)
  4. Objective-C学习笔记-第一天(3)
  5. SAP web 开发 (第二篇 bsp 开发 mvc模式 Part1 )
  6. Python框架、库以及软件资源汇总
  7. 加入Tomcat插件到ECLIPSE中的方法
  8. c++嵌套类-内存分配
  9. Unit Tests
  10. HDU 2254