​BeanFactory和ApplicationContext的区别

​BeanFactory和ApplicationContext的区别

 

面试官:你知道BeanFactory和ApplicationContext到底有什么区别吗?

面试者:

1、BeanFactory:是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和获取对象的功能;是Spring IoC容器的核心。

// 仅保留重接口,删除了一些重载接口
public interface BeanFactory {
​
  String FACTORY_BEAN_PREFIX = "&";
  
  Object getBean(String name) throws BeansException;<T> ObjectProvider<T> getBeanProvider(Class<T> requiredType);boolean isSingleton(String name) throws NoSuchBeanDefinitionException;boolean isPrototype(String name) throws NoSuchBeanDefinitionException;boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException;@Nullable
  Class<?> getType(String name) throws NoSuchBeanDefinitionException;}

​2、ApplicationContext:建立在BeanFanFactory基础之上,应用上下文,继承BeanFactory接口,它是Spring的一个功能丰富的容器,提供了更多的有用的功能;

1) 国际化(MessageSource)

2) 访问资源,如URL和文件(ResourceLoader)

3) 载入多个(有继承关系)上下文 ,使得每一个上下文都专注于一个特定的层次,比如应用的web层  

4) 消息发送、响应机制(ApplicationEventPublisher)

在这里插入图片描述
关注微信公众号带你知道更多~

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值