Spring源码浅析之BeanDefinition

  • Post author:
  • Post category:其他


我们在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 版权协议,转载请附上原文出处链接和本声明。