## 接口的使用
org.springframework.beans.BeanMetadataElement

- 使用BeanMetadataElement的程序包
  程序包 | 说明
  --- | ---
  org.springframework.beans | This package contains interfaces and classes for manipulating Java beans.
  org.springframework.beans.factory.annotation | Support package for annotation-driven bean configuration.
  org.springframework.beans.factory.config | SPI interfaces and configuration-related convenience classes for bean factories.
  org.springframework.beans.factory.parsing | Support infrastructure for bean definition parsing.
  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中BeanMetadataElement的使用

    实现BeanMetadataElement的org.springframework.beans中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `BeanMetadataAttribute` Holder for a key-value style attribute that is part of a bean definition.
    `class` | `BeanMetadataAttributeAccessor` Extension of `AttributeAccessorSupport`, holding attributes as `BeanMetadataAttribute` objects in order to keep track of the definition source.
    `class` | `PropertyValue` Object to hold information and value for an individual bean property.

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

    org.springframework.beans.factory.annotation中BeanMetadataElement的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `AnnotatedBeanDefinition` Extended `BeanDefinition` interface that exposes `AnnotationMetadata` about its bean class - without requiring the class to be loaded yet.

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

  - ### org.springframework.beans.factory.config中BeanMetadataElement的使用

    org.springframework.beans.factory.config中BeanMetadataElement的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `BeanDefinition` A BeanDefinition describes a bean instance, which has property values, constructor argument values, and further information supplied by concrete implementations.
    `interface` | `BeanReference` Interface that exposes a reference to a bean name in an abstract fashion.

    实现BeanMetadataElement的org.springframework.beans.factory.config中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `BeanDefinitionHolder` Holder for a BeanDefinition with name and aliases.
    `static class` | `ConstructorArgumentValues.ValueHolder` Holder for a constructor argument value, with an optional type attribute indicating the target type of the actual constructor argument.
    `class` | `RuntimeBeanNameReference` Immutable placeholder class used for a property value object when it's a reference to another bean name in the factory, to be resolved at runtime.
    `class` | `RuntimeBeanReference` Immutable placeholder class used for a property value object when it's a reference to another bean in the factory, to be resolved at runtime.
    `class` | `TypedStringValue` Holder for a typed String value.

  - ### org.springframework.beans.factory.parsing中BeanMetadataElement的使用

    org.springframework.beans.factory.parsing中BeanMetadataElement的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `ComponentDefinition` Interface that describes the logical view of a set of `BeanDefinitions` and `BeanReferences` as presented in some configuration context.
    `interface` | `DefaultsDefinition` Marker interface for a defaults definition, extending BeanMetadataElement to inherit source exposure.

    实现BeanMetadataElement的org.springframework.beans.factory.parsing中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractComponentDefinition` Base implementation of `ComponentDefinition` that provides a basic implementation of `AbstractComponentDefinition.getDescription()` which delegates to `ComponentDefinition.getName()`.
    `class` | `AliasDefinition` Representation of an alias that has been registered during the parsing process.
    `class` | `BeanComponentDefinition` ComponentDefinition based on a standard BeanDefinition, exposing the given bean definition as well as inner bean definitions and bean references for the given bean.
    `class` | `CompositeComponentDefinition` `ComponentDefinition` implementation that holds one or more nested `ComponentDefinition` instances, aggregating them into a named group of components.
    `class` | `ImportDefinition` Representation of an import that has been processed during the parsing process.

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

    实现BeanMetadataElement的org.springframework.beans.factory.support中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractBeanDefinition` Base class for concrete, full-fledged `BeanDefinition` classes, factoring out common properties of `GenericBeanDefinition`, `RootBeanDefinition`, and `ChildBeanDefinition`.
    `class` | `AutowireCandidateQualifier` Qualifier for resolving autowire candidates.
    `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` | `LookupOverride` Represents an override of a method that looks up an object in the same IoC context.
    `class` | `ManagedArray` Tag collection class used to hold managed array elements, which may include runtime bean references (to be resolved into bean objects).
    `class` | `ManagedList<E>` Tag collection class used to hold managed List elements, which may include runtime bean references (to be resolved into bean objects).
    `class` | `ManagedMap<K,V>` Tag collection class used to hold managed Map values, which may include runtime bean references (to be resolved into bean objects).
    `class` | `ManagedProperties` Tag class which represents a Spring-managed `Properties` instance that supports merging of parent/child definitions.
    `class` | `ManagedSet<E>` Tag collection class used to hold managed Set values, which may include runtime bean references (to be resolved into bean objects).
    `class` | `MethodOverride` Object representing the override of a method on a managed object by the IoC container.
    `class` | `ReplaceOverride` Extension of MethodOverride that represents an arbitrary override of a method by the IoC container.
    `class` | `RootBeanDefinition` A root bean definition represents the merged bean definition that backs a specific bean in a Spring BeanFactory at runtime.

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

    实现BeanMetadataElement的org.springframework.beans.factory.xml中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `DocumentDefaultsDefinition` Simple JavaBean that holds the defaults specified at the `<beans>` level in a standard Spring XML bean definition document: `default-lazy-init`, `default-autowire`, etc.