Spring IOC源码之容器的体系结构

​本文是以spring5.0.2.RELEASE版本说明spring源码,以xml配置的方式来说明IOC容器原理,将bean信息注册到容器当中,再对容器中的bean进行实例化,本文主要介绍bean注册到容器的过程。在阅读spring源码之前建议先阅读下JSR规范,这样更容易理解源码.

一,beanFactory体系结构

Spring IOC源码之容器的体系结构

BeanFactory是所有bean工厂的*接口,ListableBeanFactory可以获取多个bean,HierarchicalBeanFactory这个bean工厂是用来存放些有层次关系,继承关系的bean,

AutowireCapableBeanFactory这个bean工厂主要用来做一些bean的自动装配,其他框架也可以与它集成。我们常用的ApplicationContext看似只继承了ListableBeanFactory与HierarchicalBeanFactory,其实ApplicationContext接口也提供了可以获取AutowireCapableBeanFactory工厂的方法。这些bean工厂的默认实现为DefaultListableBeanFactory。

二,注册bean到工厂的过程

Spring IOC源码之容器的体系结构

关于容器的启动过程,容器的生命过程,等更多内容可以关注本人公众号 "零壹工场" 详情说明

 Spring IOC源码之容器的体系结构