一,Spring容器BeanFactory和ApplicationContext对比
来源:互联网 发布:手机上淘宝网怎么付款 编辑:程序博客网 时间:2024/06/07 04:03
BeanFactory和ApplicationContext对比
BeanFactory和ApplicationContext联系
BeanFactory和ApplicationContext是Spring的两大核心接口,而其中ApplicationContext是BeanFactory的子接口。它们都可以当做Spring的容器,Spring容器是生成Bean实例的工厂,并管理容器中的Bean。在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源,Hibernate的SessionFactory、事务管理器等。
Spring容器最基本的接口就是BeanFactory。BeanFactory负责配置、创建、管理Bean,它有一个子接口ApplicationContext,也被称为Spring上下文,容器同时还管理着Bean和Bean之间的依赖关系。
BeanFactory和ApplicationContext区别
BeanFactory特点
BeanFactory常用的实现类是DefaultListableBeanFactory,调用者只需要使用getBean()方法就可以获得指定的引用,无须关心Bean的实例化过程。创建Spring容器的实例时,必须提供Spring容器管理的Bean的详细配置信息。Spring的配置信息通常采用XML配置文件来设置,因此,创建BeanFactory实例时,应该提供XML配置文件作为参数。XML配置文件通常使用Resource对象传入。
Resource isr = new ClassPathResource("beans.xml");//Resource isr = new FileSystemResource("beans.xml");DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();new XmlBeanDefinitionReader(beanFactory).loadBeanDefinition(isr);
ApplicationContext特点
ApplicationContext常用的实现类是FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和AnnotationConfigApplicationContext。如果在Web应用中使用Spring容器,则通常使用XmlWebApplicationContext、AnnotationConfigApplicationContext两个实现类。如果需要使用多个XML配置文件创建Spring容器,可以使用FileSystemXmlApplicationContext或者是ClassPathXmlApplicationContext。
除了提供BeanFactory所支持的所有功能外,ApplicationContext还有额外的功能
- 默认初始化所有的Singleton,也可以通过配置取消预初始化。
- 继承MessageSource,因此支持国际化。
- 资源访问,比如访问URL和文件。
- 事件机制。
- 同时加载多个配置文件。
- 以声明式方式启动并创建Spring容器。
由于ApplicationContext会预先初始化所有的Singleton Bean,于是在系统创建前期会有较大的系统开销,但一旦ApplicationContext初始化完成,程序后面获取Singleton Bean实例时候将有较好的性能。也可以为bean设置lazy-init属性为true,即Spring容器将不会预先初始化该bean。
0 0
- 一,Spring容器BeanFactory和ApplicationContext对比
- 【spring】BeanFactory 对比 ApplicationContext
- 7.4.1:Spring容器ApplicationContext和BeanFactory
- Spring--BeanFactory和ApplicationContext
- Spring--BeanFactory和ApplicationContext
- Spring学习之IOC容器BeanFactory和ApplicationContext(三)
- ApplicationContext 接口容器和BeanFactory 接口容器
- spring中BeanFactory和ApplicationContext
- 【Spring实战】--ApplicationContext和BeanFactory
- Spring--ApplicationContext和BeanFactory区别
- spring BeanFactory和ApplicationContext详解
- Spring中BeanFactory和ApplicationContext
- spring IOC BeanFactory和ApplicationContext
- spring的BeanFactory和ApplicationContext源码详解(一)
- spring的BeanFactory和ApplicationContext源码详解(一)
- spring的BeanFactory和ApplicationContext源码详解(一)
- spring感悟(一)BeanFactory和applicationContext的异同
- Spring的简单使用BeanFactory和ApplicationContext
- 对话框中显示jpg,bmp图片和对话框动态显示图片
- 1120. Friend Numbers (20)
- SNP芯片探针回帖基因序列
- 自己跑caffe 反卷积实验(图像去噪)总结
- 回归决策树
- 一,Spring容器BeanFactory和ApplicationContext对比
- 而立之年,未开始的创业路(暨 2016年总结)
- 如何让Machine Driver在Rancher中无比简单易用
- 数据结构——图—最小生成树(普里姆算法和克鲁斯卡尔算法)
- 二项树及二项队列
- [Java基础]接口能否被实例化以及匿名内部类
- 运行时加载DLL
- [51nod 1223]分数等式的数量
- 【C#】52. 使用Flatten方法处理并行任务抛出的异常