## 类的使用
org.springframework.beans.factory.support.AbstractBeanDefinition

- 使用AbstractBeanDefinition的程序包
  程序包 | 说明
  --- | ---
  org.springframework.beans.factory.annotation | Support package for annotation-driven bean configuration.
  org.springframework.beans.factory.groovy | Support package for Groovy-based bean definitions.
  org.springframework.beans.factory.support | Classes supporting the `org.springframework.beans.factory` package.
  org.springframework.beans.factory.xml | Contains an abstract XML-based `BeanFactory` implementation, including a standard "spring-beans" XSD.

- - ### org.springframework.beans.factory.annotation中AbstractBeanDefinition的使用

    org.springframework.beans.factory.annotation中AbstractBeanDefinition的子类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AnnotatedGenericBeanDefinition` Extension of the `GenericBeanDefinition` class, adding support for annotation metadata exposed through the `AnnotatedBeanDefinition` interface.

  - ### org.springframework.beans.factory.groovy中AbstractBeanDefinition的使用

    返回AbstractBeanDefinition的org.springframework.beans.factory.groovy中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `AbstractBeanDefinition` | GroovyBeanDefinitionReader.`bean(Class<?> type, Object... args)` Define an inner bean definition.

  - ### org.springframework.beans.factory.support中AbstractBeanDefinition的使用

    org.springframework.beans.factory.support中AbstractBeanDefinition的子类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `ChildBeanDefinition` Bean definition for beans which inherit settings from their parent.
    `class` | `GenericBeanDefinition` GenericBeanDefinition is a one-stop shop for standard bean definition purposes.
    `class` | `RootBeanDefinition` A root bean definition represents the merged bean definition that backs a specific bean in a Spring BeanFactory at runtime.

    返回AbstractBeanDefinition的org.springframework.beans.factory.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `abstract AbstractBeanDefinition` | AbstractBeanDefinition.`cloneBeanDefinition()` Clone this bean definition.
    `AbstractBeanDefinition` | ChildBeanDefinition.`cloneBeanDefinition()`
    `AbstractBeanDefinition` | GenericBeanDefinition.`cloneBeanDefinition()`
    `static AbstractBeanDefinition` | BeanDefinitionReaderUtils.`createBeanDefinition(String parentName, String className, ClassLoader classLoader)` Create a new GenericBeanDefinition for the given parent name and class name, eagerly loading the bean class if a ClassLoader has been specified.
    `AbstractBeanDefinition` | BeanDefinitionBuilder.`getBeanDefinition()` Validate and return the created BeanDefinition object.
    `AbstractBeanDefinition` | BeanDefinitionBuilder.`getRawBeanDefinition()` Return the current BeanDefinition object in its raw (unvalidated) form.

    参数类型为AbstractBeanDefinition的org.springframework.beans.factory.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected void` | AbstractAutowireCapableBeanFactory.`autowireByName(String beanName, AbstractBeanDefinition mbd, BeanWrapper bw, MutablePropertyValues pvs)` Fill in any missing property values with references to other beans in this factory if autowire is set to "byName".
    `protected void` | AbstractAutowireCapableBeanFactory.`autowireByType(String beanName, AbstractBeanDefinition mbd, BeanWrapper bw, MutablePropertyValues pvs)` Abstract method defining "autowire by type" (bean properties by type) behavior.
    `protected void` | AbstractAutowireCapableBeanFactory.`checkDependencies(String beanName, AbstractBeanDefinition mbd, PropertyDescriptor[] pds, PropertyValues pvs)` Perform a dependency check that all properties exposed have been set, if desired.
    `void` | AbstractBeanDefinition.`copyQualifiersFrom(AbstractBeanDefinition source)` Copy the qualifiers from the supplied AbstractBeanDefinition to this bean definition.
    `static String` | BeanDefinitionReaderUtils.`registerWithGeneratedName(AbstractBeanDefinition definition, BeanDefinitionRegistry registry)` Register the given bean definition with a generated name, unique within the given bean factory.
    `protected String[]` | AbstractAutowireCapableBeanFactory.`unsatisfiedNonSimpleProperties(AbstractBeanDefinition mbd, BeanWrapper bw)` spring认为的简单属性 1.

  - ### org.springframework.beans.factory.xml中AbstractBeanDefinition的使用

    返回AbstractBeanDefinition的org.springframework.beans.factory.xml中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected AbstractBeanDefinition` | BeanDefinitionParserDelegate.`createBeanDefinition(String className, String parentName)` Create a bean definition for the given class name and parent name.
    `AbstractBeanDefinition` | BeanDefinitionParserDelegate.`parseBeanDefinitionAttributes(Element ele, String beanName, BeanDefinition containingBean, AbstractBeanDefinition bd)` Apply the attributes of the given bean element to the given bean * definition.
    `AbstractBeanDefinition` | BeanDefinitionParserDelegate.`parseBeanDefinitionElement(Element ele, String beanName, BeanDefinition containingBean)` Parse the bean definition itself, without regard to name or aliases.
    `protected abstract AbstractBeanDefinition` | AbstractBeanDefinitionParser.`parseInternal(Element element, ParserContext parserContext)` Central template method to actually parse the supplied `Element` into one or more `BeanDefinitions`.
    `protected AbstractBeanDefinition` | AbstractSingleBeanDefinitionParser.`parseInternal(Element element, ParserContext parserContext)` Creates a `BeanDefinitionBuilder` instance for the `bean Class` and passes it to the `AbstractSingleBeanDefinitionParser.doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)` strategy method.

    参数类型为AbstractBeanDefinition的org.springframework.beans.factory.xml中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `AbstractBeanDefinition` | BeanDefinitionParserDelegate.`parseBeanDefinitionAttributes(Element ele, String beanName, BeanDefinition containingBean, AbstractBeanDefinition bd)` Apply the attributes of the given bean element to the given bean * definition.
    `void` | BeanDefinitionParserDelegate.`parseQualifierElement(Element ele, AbstractBeanDefinition bd)` Parse a qualifier element.
    `void` | BeanDefinitionParserDelegate.`parseQualifierElements(Element beanEle, AbstractBeanDefinition bd)` Parse qualifier sub-elements of the given bean element.
    `protected String` | AbstractBeanDefinitionParser.`resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext)` Resolve the ID for the supplied `BeanDefinition`.