BeanFactory是一个容器接口,用于对Bean的创建、管理、获取,让SpringIOC管理,负责管理所有Bean的生命周期和依赖关系,是IOC的核心实现。
ApplicationContext是对BeanFactory的扩展,包含了一些其他功能如国际化、获取配置的资源文件等。
FactoryBean是一个特殊的Bean,也是用于对Bean进行创建让SpringIOC管理,只不过Factory的创建方式支持更加复杂的创建。
1、BeanFactory、FactoryBean和ApplicationContext动态创建的Bean和使用注解(@component)注册的Bean一样都被IOC管理,可以通过注解等方法注入。
2、FactoryBean本身也是一个普通的Spring Bean,它被BeanFactory或ApplicationContext容器管理。但它同时又有特殊能力——能创建其他Bean。
3、FactoryBean创建逻辑固定,
创建单个Bean的类型;而BeanFactory是可以代码动态创建,可以注册任意类型

