BeanFactory 和 ApplicationContext 之间的关系
BeanFactory是 Spring的核心容器。ApplicationContext间接继承了BeanFactory。ApplicationContext对BeanFactory进行了一些功能扩展。
BeanFactory 的作用
- 控制反转,依赖注入,直至Bean的生命周期的各种功能,都是由其实现类提供。(其中典型的为
DefaultListableBeanFactory)
ApplicationContext 比 BeanFactory 多出了哪些功能?
从继承的接口来看,多出了以下四点功能:
MessageSource: 处理国际化信息的能力。(将结果翻译为各国语言)ResourcePatternResolver: 利用通配符来获取/匹配资源。ApplicationEventPublisher: 发布事件对象。EnvironmentCapable: 获取/处理环境信息。(系统环境变量/Spring环境变量)