我们在Spring源码中可以看到其是通过AbstractAutowireCapableBeanFactory这个类完成对bean的创建的。在以后的博客中,我会再详细介绍Spring是如何创建一个bean的。
在这之前,我们需要对一些其他类有一个先入的了解,其中,在创建bean时反复出现的RootBeanDefinition类就是必须要先了解的类之一。
RootBeanDefinition类其实是AbstractBeanDefinition的一个子类。AbstractBeanDefinition实现了BeanDefinition接口。
Spring通过BeanDefinition接口,将配置文件或配置文件中的<bean>或@Configuration和@Bean修饰的配置类的配置信息转换为Spring容器的内部表示,并将这些BeanDefiniton注册到BeanDefinitonRegistry中。
下面我们就从AbstractBeanDefinition类开始,看看Spring中的BeanDefinition。
AbstractBeanDefinition
AbstractBeanDefinition这个抽象类有着承上启下的重要性。我们可以从它的类图中可以看出:
它是RootBeanDefinition,GenericBeanDefinition和ChildBeanDefinition这三个类的父类,同时它继承自Be
版权声明:本文为ljw761123096原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。