IOC容器设计与实现
重点知识
-
BeanFactory定义了IOC基本功能,这也就是面向接口编程,对于对IOC功能的增强,是通过集成BeanFacroty的拓展接口来实现的。
-
这里的整体设计可以借鉴的,这就是典型的面向接口编程和装饰者模式。
-
在Spring中所有的bean都是由BeanFactory进行管理的,FactoryBean是产生或者粉饰对象生成的的工厂bean
BeanFactory路线
-
BeanFactory是实现IOC的基本形式,也就是最原始的IOC规范。ApplicationContext是在BeanFactory上进项拓展的容器。
-
也就是我们可以定义自己的容器,只要继承最基本的容器规范BeanFactory就可以了,饭后提供相应的容器实现类。这就体现了Spring的灵活性,简单的事情复杂化,用户就可以有更多的切入点和增强点,从而根据自身需要定制自己的应用。这种设计模式也是可以借鉴的。
IOC容器创建的基本步骤
- 创建IOC配置文件抽象资源
- 创建一个BeanFactory
- 创建一个BeanDefinition读取器,读取器与创建的工厂进行绑定,也就是读取器读取到的配置信息在哪个IOC容器中生效