BeanFactory和ApplicationContext的区别是什么呢?

璐璐 Java面经 发布时间:2022-11-01 22:58:28 阅读数:20209 1 Spring全家桶面试题(2023优化版
下文笔者讲述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则是自动注册
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16673147614772.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者