BeanFactory和ApplicationContext的区别是什么呢?
下文笔者讲述BeanFactory和ApplicationContext的区别,如下所示
BeanFactory和ApplicationContext的简介
BeanFactory和ApplicationContext是Spring的两大核心接口 都可以作为Spring容器 ApplicationContext是BeanFactory子接口
BeanFactory的功能
BeanFactory: Spring中最底层的接口 其中拥有Bean定义,获取bean配置信息, 管理bean的加载、实例化及控制bean生命周期 维护bean之间依赖关系
ApplicationContext接口简介
ApplicationContext接口是BeanFactory的子接口 除拥有BeanFactory的功能外, 还拥有更完整的框架功能: 1.继承MessageSource,因此支持国际化。 2.统一的资源文件访问方式。 3.提供在监听器中注册bean的事件。 4.同时加载多个配置文件。 5.载入多个(有继承关系)上下文, 使得每一个上下文都专注于一个特定的层次 如: 应用的web层
BeanFactory和ApplicationContext的区别
区别1:加载方式 BeanFactroy采用的是延迟加载形式来注入Bean的, 即只有在使用到某个Bean时(调用getBean()),才对该Bean进行加载实例化 ApplicationContext:容器启动时,一次性创建了所有的Bean 区别2:创建方式 BeanFactory通常以编程的方式被创建 ApplicationContext还可使用声明的方式创建 如: 使用ContextLoader。 区别3:注册方式 BeanFactory和ApplicationContext都支持BeanPostProcessor、BeanFactoryPostProcessor的使用 两者之间的区别是: BeanFactory需要手动注册 ApplicationContext则是自动注册
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。