《Spring揭秘》笔记——Spring中两种容器比较
来源:互联网 发布:数字图像处理 知乎 编辑:程序博客网 时间:2024/05/28 20:20
Spring提供了两种容器类型:BeanFactory和ApplicationContext。
BeanFactory:基础类型IoC容器,提供完整的IoC服务支持。如果没有特殊指定,默认采用延迟初始化策略(lazy-load)。只有当客户端对象需要访问容器中的某个受管对象的时候,才对该受管对象进行初始化以及依赖注入操作。所以,相对来说,容器启动初期速度较快,所需要的资源有限。对于资源有限,并且功能要求不是很严格的场景,BeanFactory是比较合适的IoC容器选择。
ApplicationContext:ApplicationContext在BeanFactory的基础上构建,是相对比较高级的容器实现,除了拥有BeanFactory的所有支持,ApplicationContext还提供了其他高级特性,比如事件发布、国际化信息支持等,这些会在后面详述。ApplicationContext所管理的对象,在该类型容器启动之后,默认全部初始化并绑定完成。所以,相对于BeanFactory来说,ApplicationContext要求更多的系统资源,同时,因为在启动时就完成所有初始化,容器启动时间较之BeanFactory也会长一些。在那些系统资源充足,并且要求更多功能的场景中,ApplicationContext类型的容器是比较合适的选择。
简而言之:ApplicationContext有BeanFactory的所有功能,并对其进行了扩展,官方推荐使用ApplicationContext。除非是在一些特殊情况,比如程序运行在资源有限的设备中,内存消耗非常关键,额外的数千字节也会有影响,这种情况可以考虑使用BeanFactory。使用BeanFactory的另一个缺点是Spring大量使用了BeanPostProcessor,如果只使用一个普通的BeanFactory,那么大量的支持,例如事务和AOP将不会生效。这种情况可能会令人困惑,排查起来也比较麻烦,因为配置中没有任何错误。
- 《Spring揭秘》笔记——Spring中两种容器比较
- Spring揭秘(六)——Spring IoC容器ApplicationContext
- Spring揭秘 学习笔记一 (Spring的IoC容器 一)
- Spring揭秘 学习笔记一 (Spring的IoC容器 二)
- Spring揭秘 学习笔记三 (Spring的IoC容器 ApplicationContext)
- Spring笔记——Spring容器:ApplicationContext
- spring揭秘(二)——IoC容器的基本概念
- 《Spring揭秘》第四章 读书笔记 —— Spring的IoC容器之BeanFactory
- Spring揭秘(四)——Spring的IOC容器之BeanFactory
- Spring学习笔记——Spring IOC容器
- 《Spring揭秘》笔记——prototype作用域的“坑”
- 《Spring揭秘》第四章 读书笔记 —— 容器背后的秘密
- Spring揭秘 读书笔记 五 容器的启动
- Spring学习笔记-Spring容器
- Spring笔记02-Spring容器
- Spring学习1——Spring容器
- Spring入门——Spring IOC容器
- Spring揭秘(十)——初识AOP
- A quick-and-dirty audio sample mixing technique to avoid clipping
- 定义宏可以方便地访问stl容器
- MyISAM 和InnoDB
- mac php5.6+oci8+pdo_oci扩展
- linux的一些基本命令(关于文件操作, 进程操作,以及/boot问题)
- 《Spring揭秘》笔记——Spring中两种容器比较
- PHP
- Auto property synthesis will not synthesize property '***'
- eclipse 全选lib jar包
- highcharts报表 四:tooltip数据提示框指配置
- 462. Minimum Moves to Equal Array Elements II
- 模糊查询
- 抛弃格子衫和冲锋衣_程序员该如何穿?
- Android 定时器 (每隔N秒执行一次).