关于spring:Spring-IOC过程

32次阅读

共计 717 个字符,预计需要花费 2 分钟才能阅读完成。

spring ioc 流程

BeanFactory 对象的创立和加强,实现 bean 配置信息的加载和解析
  1. 创立 Beanfactory 容器
  2. 通过 xml,注解等形式定义 bean 信息,由 BeanDefinitionReader 接口解析生成 BeanDefinition,存于 BeanDefinitionMap 中,这是属于 BeanFactory 的一部分
  3. 通过 BeanFactoryPostProcessor 后置处理器接口对 BeanFactory 加强解决,其中罕用的实现类包含 ConfigurationClassPostProcessor(注解),PlaceholderConfigurerSupport(占位符)等
Bean 的实例化,初始化过程
  1. 注册 BeanPostProcessor 后置处理器(registerBeanPostProcessors(beanFactory))
  2. 初始化信息源,国际化解决(initMessageSource())
  3. 初始化多播器(initApplicationEventMulticaster())
  4. 注册监听器(registerListeners())
  5. 实例化并初始化 bean 对象

    这一步才是真正开始创立 bean,其中包含通过反射实例化对象,填充属性 populateBean(),执行 Aware 接口办法(invokeAwareMethods()获取容器内置属性),执行实例化前置办法 (processor.postProcessBeforeInitialization),执行自定义 init 办法(invokeInitMethods()),执行实例化后置办法(processor.postProcessAfterInitialization) 等过程

正文完
 0