Spring IOC的理解

总:

  • 控制反转(IOC):理论思想,传统java开发模式,对象是由使用者来进行管理,有了spring后,可以交给spring来帮我们进行管理。
  • 依赖注入(DI):把对应的属性的值注入到具体的对象中,@Autowaired,populateBean完成属性值的注入。
  • 容器:存储对象,使用map机构来存储,spring中一般存在三级缓存,singletonObjects存放完整的bean对象。

分:

  • ioc容器的创建(beanFactory,DefaultListableBeanFactory),向bean工厂中设置一些参数(BeanPostProcessor,Aware接口子类)等等属性。
  • 加载解析bean对象,准备要创建的bean对象定义的beanDefintion(xml或者注解解析的过程)。
  • beanFactoryPostProcessor的处理,此处是扩展点,PlaceHodlerConfigurSupport,ConfigurationClassPostProcessor。
  • BeanPostProcessor的注册功能,方便后续选对bean对象完成具体的扩展功能。
  • 通过反射的方式将BeanDefinition对象实例化成具体的Bean对象。
  • bean对象的初始化过程(填充属性,调用aware子类的方法,调用BeanPostProcessor前置处理方法,调用init-method方法,调用BeanPostprocessor后置处理方法)。
  • 生成完整的bean对象,通过getBean方法可以直接获取。
  • bean销毁过程。

bean生命周期

Spring IOC的理解_第1张图片

你可能感兴趣的:(spring,rpc,java)