spring IOC 分析及实现
什么是IOC
Inversion of Control,控制反转,也成依赖倒置。
反转:
依赖对象的创建被反转,使用IOC之前,对象由自己创建,反转后,由IOC容器获取
IOC容器的工作:
负责创建,管理实例
使用IOC的好处:
1.代码简洁,对象的创建有IOC容器提供
2.面向接口编程,使用者和具体类解耦,易扩展
3.可以方便进行AOP增强
设计实现:
1.IOC容器产出是bean,bean也称组件,类的实例
Bean工厂: Interface BeanFactory{
getBean(String) :Object
}
2.Bean工厂如何创建bean
使用Bean定义注册接口
3.bean定义用途: 告诉bean工厂如何创建bean
bean定义告诉bean工厂如何创建对象,bean定义应该暴露那些方法:
class getBeanClass(); 获取bean类名
String getFactoryMethodName() 获取工厂方法名
String getFactoryBeanName() 获取工厂bean名
String getScope() bean作用域
String getInitMethodName() 获取初始化方法
String getDestroyMethodName 获取销毁方法
4.实现bean定义接口
Class DefaultBeanFactory implements BeanFactory,BeanDefinitionRegistry