Spring IoC 加载过程再简单地总结一下 Spring IoC 加载的全部过程,大致可分为定位、解析、注册、实例化四个步骤:
*
定位:就是资源文件定位,资源文件可以是文件、URL、二进制数组,和Bean配置有关的通常是 XML / @Configuration / 注解(Java文件);一般是在 ApplicationContext 的实现类里完成的,可以将外部的资源,读取为 Resource 类。
*
解析:解析就只对资源文件的解析;解析主要是在 BeanDefinitionReader 中完成的;比如最常见的 XML 配置文件,那么将解析工作委托给 XmlBeanDefinitionReader 来完成;解析最终解析的结果都封装为 BeanDefinitionHolder ;
*
注册:所谓的注册,其实就是将 BeanDefinition 的 Name 和实例,保存到一个 Map 中;bean 的注册是在 BeanFactory 里完成的;BeanFactory 接口最常见的一个实现类是 DefaultListableBeanFactory ,其中的 Map 就是 BeanDefinitionMap ,是一个 ConcurrentHashMap 。
*
实例化:注册完成后,在 BeanFactory 的 getBean() 方法之中,完成初始化;这时候应用程序就可以直接使用 Bean 了。
Spring IoC 加载过程
最新推荐文章于 2023-02-22 16:38:01 发布