BeanFactory的作用
- BeanFactory是Spring中非常核心的一个顶层接口;
- 它是Bean的“工厂”、它的主要职责就是生产Bean;
- 它实现了简单工厂的设计模式,通过调用getBean传入标识生产一个Bean;
- 它有非常多的实现类、每个工厂都有不同的职责(单一职责)功能,最强大的工厂是:DefaultListableBeanFactory
Spring底层就是使用的该实现工厂进行生产Bean的 - BeanFactory它也是容器 Spring容器(管理着Bean的生命周期)
额外扩展(可不看)
BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。ApplicationContext接口,它由BeanFactory接口派生而来。ApplicationContext包含BeanFactory的所有功能,通常建议比BeanFactory优先。
BeanFactory和FactoryBean的区别
BeanFactory是接口,提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范,FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式(如果想了解装饰模式参考:修饰者模式(装饰者模式,Decoration) 我们可以在getObject()方法中灵活配置。其实在Sprin