- IOC
- 整体概念
- 容器初始化
- 重要接口
- DI
- 整体概念
- AOP
IOC 即 Inversion of Control,控制反转,是一种将设计好的对象交给容器来管理的设计思想。
控制:区别于传统意义上的对象内部直接通过New的方式创建对象,IOC将创建对象的过程交给了一个容器来执行,解除程序对对象的依赖关系,而IOC容器就控制了对象,控制着外部程序对对象的获取只能通过IOC容器来获取,不能直接越过IOC。
反转:正转即是程序在一个对象中直接创建依赖对象,反转即IOC容器帮助程序查找和注入依赖对象,这个对象只是被动的接受依赖对象,它所拥有的依赖对象不是由它自己所创建的而是IOC塞给他的。
容器初始化- 初始化入口方法 refresh()
- Bean 定义载入 loadBeanDefinition()
- 调用各种 beanFactory 处理器 invokeBeanFactoryPostProcessors()
- BeanFactory
整个容器的根接口,也是容器的入口 - FactoryBean
FactoryBean 与 beanFactory 区别 - 都是用来创建对象 - 使用BeanFactory的时候必须要遵循完整的创建过程,这个过程由spring来管理控制 - 使用FactoryBean只需要调用getObject()就可以返回具体的对象,整个对象的创建过程是由用户自己来控制,更加灵活
- Aware
当Spring容器创建的bean对象在进行具体操作的时候,如果需要容器的其他对象,此时可以将对象实现Aware接口来满足当前的需要 - BeanDefinitionReader
Bean定义读取器 - BeanDefintion
定义对象元信息 - BeanFactoryPostProcessor
增强beanDefintion信息 - BeanPostProcessor
增强bean信息
DI 即 Dependency Injection,依赖注入,容器动态地将某个依赖关系注入到组件之中。
依赖注入的目的是为了提高组件重用性,使程序的扩展性大大提高,使用依赖不再关系出处,配置之后直接使用来完成业务。
IOC和DI的关系:DI需要在IOC的控制基础上来完成注入,被注入对象依赖IOC容器,IOC容器配置依赖对象。
AOP未完,留个框架,学一点更新一点。。。。



