什么是控制反转 (IoC) Inverse of Control?
IoC包括两方面的内容: (1)控制 (2)反转
"控制" 指对某一个接口的具体实现类选择的控制权
"反转" 指这种控制权从调用者手上移除
控制反转就是指, 某一接口具体实现类的选择控制权从调用类移除, 转交给第三方决定 ,第三方可以是Spring容器.
Bean工厂 (com.springframework.beans.factory.BeanFactory) 是Spring 框架最核心的接口. 它提供了高级的 IoC配置机制. BeanFactory管理不同的Java对象, 应用上下文 (com.springframework.context.ApplicationContext) 建立在 BeanFactory 的基础上. 提供了更多面向应用的功能, 更容易创建实际应用. 一般称 BeanFactory 为 IoC容器, ApplicationContext为应用上下文, ApplicationContext也称为 Spring 容器.
BeanFactory 是 Spring框架的基础设施, 面向 Spring本身, ApplicationContext 面向Spring框架 的开发者.
BeanFactory是类的通用工厂, 可以创建并管理各种类的对象. Spring称这些被创建的Java对象为 Bean.
一.BeanFactory的体系结构
对BeanFactory其他接口进行简单说明:
ListableBeanFactory: 该接口定义了访问Bean基本信息的若干方法.