org.springframework.beans.factory.xml

## 类 BeanDefinitionParserDelegate

- java.lang.Object
- - org.springframework.beans.factory.xml.BeanDefinitionParserDelegate

-     public class BeanDefinitionParserDelegate
      extends Object

  Stateful delegate class used to parse XML bean definitions. Intended for use by both the main parser and any extension `BeanDefinitionParsers` or `BeanDefinitionDecorators`.
  从以下版本开始:
    2.0
  作者:
    Rob Harrop, Juergen Hoeller, Rod Johnson, Mark Fisher, Gary Russell
  另请参阅:
    `ParserContext`, `DefaultBeanDefinitionDocumentReader`

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static String` | `ABSTRACT_ATTRIBUTE`
    `static String` | `ARG_TYPE_ELEMENT`
    `static String` | `ARG_TYPE_MATCH_ATTRIBUTE`
    `static String` | `ARRAY_ELEMENT`
    `static String` | `AUTOWIRE_ATTRIBUTE`
    `static String` | `AUTOWIRE_AUTODETECT_VALUE`
    `static String` | `AUTOWIRE_BY_NAME_VALUE`
    `static String` | `AUTOWIRE_BY_TYPE_VALUE`
    `static String` | `AUTOWIRE_CANDIDATE_ATTRIBUTE`
    `static String` | `AUTOWIRE_CONSTRUCTOR_VALUE`
    `static String` | `AUTOWIRE_NO_VALUE`
    `static String` | `BEAN_ELEMENT`
    `static String` | `BEAN_REF_ATTRIBUTE`
    `static String` | `BEANS_NAMESPACE_URI`
    `static String` | `CLASS_ATTRIBUTE`
    `static String` | `CONSTRUCTOR_ARG_ELEMENT`
    `static String` | `DEFAULT_AUTOWIRE_ATTRIBUTE`
    `static String` | `DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE`
    `static String` | `DEFAULT_DESTROY_METHOD_ATTRIBUTE`
    `static String` | `DEFAULT_INIT_METHOD_ATTRIBUTE`
    `static String` | `DEFAULT_LAZY_INIT_ATTRIBUTE`
    `static String` | `DEFAULT_MERGE_ATTRIBUTE`
    `static String` | `DEFAULT_VALUE`
    `static String` | `DEPENDS_ON_ATTRIBUTE`
    `static String` | `DESCRIPTION_ELEMENT`
    `static String` | `DESTROY_METHOD_ATTRIBUTE`
    `static String` | `ENTRY_ELEMENT`
    `static String` | `FACTORY_BEAN_ATTRIBUTE`
    `static String` | `FACTORY_METHOD_ATTRIBUTE`
    `static String` | `FALSE_VALUE`
    `static String` | `ID_ATTRIBUTE`
    `static String` | `IDREF_ELEMENT`
    `static String` | `INDEX_ATTRIBUTE`
    `static String` | `INIT_METHOD_ATTRIBUTE`
    `static String` | `KEY_ATTRIBUTE`
    `static String` | `KEY_ELEMENT`
    `static String` | `KEY_REF_ATTRIBUTE`
    `static String` | `KEY_TYPE_ATTRIBUTE`
    `static String` | `LAZY_INIT_ATTRIBUTE`
    `static String` | `LIST_ELEMENT`
    `protected Log` | `logger`
    `static String` | `LOOKUP_METHOD_ELEMENT`
    `static String` | `MAP_ELEMENT`
    `static String` | `MERGE_ATTRIBUTE`
    `static String` | `META_ELEMENT`
    `static String` | `MULTI_VALUE_ATTRIBUTE_DELIMITERS`
    `static String` | `NAME_ATTRIBUTE`
    `static String` | `NULL_ELEMENT`
    `static String` | `PARENT_ATTRIBUTE`
    `static String` | `PARENT_REF_ATTRIBUTE`
    `static String` | `PRIMARY_ATTRIBUTE`
    `static String` | `PROP_ELEMENT`
    `static String` | `PROPERTY_ELEMENT`
    `static String` | `PROPS_ELEMENT`
    `static String` | `QUALIFIER_ATTRIBUTE_ELEMENT`
    `static String` | `QUALIFIER_ELEMENT`
    `static String` | `REF_ATTRIBUTE`
    `static String` | `REF_ELEMENT`
    `static String` | `REPLACED_METHOD_ELEMENT`
    `static String` | `REPLACER_ATTRIBUTE`
    `static String` | `SCOPE_ATTRIBUTE`
    `static String` | `SET_ELEMENT`
    `static String` | `TRUE_VALUE` Value of a T/F attribute that represents true.
    `static String` | `TYPE_ATTRIBUTE`
    `static String` | `VALUE_ATTRIBUTE`
    `static String` | `VALUE_ELEMENT`
    `static String` | `VALUE_REF_ATTRIBUTE`
    `static String` | `VALUE_TYPE_ATTRIBUTE`

  - ### 构造器概要

    构造器
    构造器和说明
    `BeanDefinitionParserDelegate(XmlReaderContext readerContext)` Create a new BeanDefinitionParserDelegate associated with the supplied `XmlReaderContext`.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected TypedStringValue` | `buildTypedStringValue(String value, String targetTypeName)` Build a typed String value Object for the given raw value.
    `protected Object` | `buildTypedStringValueForMap(String value, String defaultTypeName, Element entryEle)` Build a typed String value Object for the given raw value.
    `protected void` | `checkNameUniqueness(String beanName, List<String> aliases, Element beanElement)` Validate that the specified bean name and aliases have not been used already within the current level of beans element nesting.
    `protected AbstractBeanDefinition` | `createBeanDefinition(String className, String parentName)` Create a bean definition for the given class name and parent name.
    `BeanDefinitionHolder` | `decorateBeanDefinitionIfRequired(Element ele, BeanDefinitionHolder definitionHolder)`
    `BeanDefinitionHolder` | `decorateBeanDefinitionIfRequired(Element ele, BeanDefinitionHolder definitionHolder, BeanDefinition containingBd)`
    `BeanDefinitionHolder` | `decorateIfRequired(Node node, BeanDefinitionHolder originalDef, BeanDefinition containingBd)`
    `protected void` | `error(String message, Element source)` Report an error with the given message for the given source element.
    `protected void` | `error(String message, Element source, Throwable cause)` Report an error with the given message for the given source element.
    `protected void` | `error(String message, Node source)` Report an error with the given message for the given source element.
    `protected Object` | `extractSource(Element ele)` Invoke the `SourceExtractor` to pull the source metadata from the supplied `Element`.
    `String[]` | `getAutowireCandidatePatterns()` Return any patterns provided in the 'default-autowire-candidates' attribute of the top-level `<beans/>` element.
    `int` | `getAutowireMode(String attValue)`
    `BeanDefinitionDefaults` | `getBeanDefinitionDefaults()` Return the default settings for bean definitions as indicated within the attributes of the top-level `<beans/>` element.
    `DocumentDefaultsDefinition` | `getDefaults()` Return the defaults definition object.
    `String` | `getLocalName(Node node)` Get the local name for the supplied `Node`.
    `String` | `getNamespaceURI(Node node)` Get the namespace URI for the supplied node.
    `XmlReaderContext` | `getReaderContext()` Get the `XmlReaderContext` associated with this helper instance.
    `void` | `initDefaults(Element root)` Initialize the default settings assuming a `null` parent delegate.
    `void` | `initDefaults(Element root, BeanDefinitionParserDelegate parent)` Initialize the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.
    `boolean` | `isDefaultNamespace(Node node)`
    `boolean` | `isDefaultNamespace(String namespaceUri)`
    `boolean` | `nodeNameEquals(Node node, String desiredName)` Determine whether the name of the supplied node is equal to the supplied name.
    `Object` | `parseArrayElement(Element arrayEle, BeanDefinition bd)` Parse an array element.
    `AbstractBeanDefinition` | `parseBeanDefinitionAttributes(Element ele, String beanName, BeanDefinition containingBean, AbstractBeanDefinition bd)` Apply the attributes of the given bean element to the given bean * definition.
    `BeanDefinitionHolder` | `parseBeanDefinitionElement(Element ele)` Parses the supplied `<bean>` element.
    `BeanDefinitionHolder` | `parseBeanDefinitionElement(Element ele, BeanDefinition containingBean)` Parses the supplied `<bean>` element.
    `AbstractBeanDefinition` | `parseBeanDefinitionElement(Element ele, String beanName, BeanDefinition containingBean)` Parse the bean definition itself, without regard to name or aliases.
    `protected void` | `parseCollectionElements(NodeList elementNodes, Collection<Object> target, BeanDefinition bd, String defaultElementType)`
    `void` | `parseConstructorArgElement(Element ele, BeanDefinition bd)` Parse a constructor-arg element.
    `void` | `parseConstructorArgElements(Element beanEle, BeanDefinition bd)` Parse constructor-arg sub-elements of the given bean element.
    `BeanDefinition` | `parseCustomElement(Element ele)`
    `BeanDefinition` | `parseCustomElement(Element ele, BeanDefinition containingBd)`
    `Object` | `parseIdRefElement(Element ele)` Return a typed String value Object for the given 'idref' element.
    `protected Object` | `parseKeyElement(Element keyEle, BeanDefinition bd, String defaultKeyTypeName)` Parse a key sub-element of a map element.
    `List<Object>` | `parseListElement(Element collectionEle, BeanDefinition bd)` Parse a list element.
    `void` | `parseLookupOverrideSubElements(Element beanEle, MethodOverrides overrides)` Parse lookup-override sub-elements of the given bean element.
    `Map<Object,Object>` | `parseMapElement(Element mapEle, BeanDefinition bd)` Parse a map element.
    `boolean` | `parseMergeAttribute(Element collectionElement)` Parse the merge attribute of a collection element, if any.
    `void` | `parseMetaElements(Element ele, BeanMetadataAttributeAccessor attributeAccessor)`
    `void` | `parsePropertyElement(Element ele, BeanDefinition bd)` Parse a property element.
    `void` | `parsePropertyElements(Element beanEle, BeanDefinition bd)` Parse property sub-elements of the given bean element.
    `Object` | `parsePropertySubElement(Element ele, BeanDefinition bd)`
    `Object` | `parsePropertySubElement(Element ele, BeanDefinition bd, String defaultValueType)` Parse a value, ref or collection sub-element of a property or constructor-arg element.
    `Object` | `parsePropertyValue(Element ele, BeanDefinition bd, String propertyName)` Get the value of a property element.
    `Properties` | `parsePropsElement(Element propsEle)` Parse a props element.
    `void` | `parseQualifierElement(Element ele, AbstractBeanDefinition bd)` Parse a qualifier element.
    `void` | `parseQualifierElements(Element beanEle, AbstractBeanDefinition bd)` Parse qualifier sub-elements of the given bean element.
    `void` | `parseReplacedMethodSubElements(Element beanEle, MethodOverrides overrides)` Parse replaced-method sub-elements of the given bean element.
    `Set<Object>` | `parseSetElement(Element collectionEle, BeanDefinition bd)` Parse a set element.
    `Object` | `parseValueElement(Element ele, String defaultTypeName)` Return a typed String value Object for the given value element.
    `protected void` | `populateDefaults(DocumentDefaultsDefinition defaults, DocumentDefaultsDefinition parentDefaults, Element root)` Populate the given DocumentDefaultsDefinition instance with the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### BEANS_NAMESPACE_URI

          public static final String BEANS_NAMESPACE_URI

      另请参阅:
        常量字段值

    - #### MULTI_VALUE_ATTRIBUTE_DELIMITERS

          public static final String MULTI_VALUE_ATTRIBUTE_DELIMITERS

      另请参阅:
        常量字段值

    - #### TRUE_VALUE

          public static final String TRUE_VALUE

      Value of a T/F attribute that represents true. Anything else represents false. Case seNsItive.
      另请参阅:
        常量字段值

    - #### FALSE_VALUE

          public static final String FALSE_VALUE

      另请参阅:
        常量字段值

    - #### DEFAULT_VALUE

          public static final String DEFAULT_VALUE

      另请参阅:
        常量字段值

    - #### DESCRIPTION_ELEMENT

          public static final String DESCRIPTION_ELEMENT

      另请参阅:
        常量字段值

    - #### AUTOWIRE_NO_VALUE

          public static final String AUTOWIRE_NO_VALUE

      另请参阅:
        常量字段值

    - #### AUTOWIRE_BY_NAME_VALUE

          public static final String AUTOWIRE_BY_NAME_VALUE

      另请参阅:
        常量字段值

    - #### AUTOWIRE_BY_TYPE_VALUE

          public static final String AUTOWIRE_BY_TYPE_VALUE

      另请参阅:
        常量字段值

    - #### AUTOWIRE_CONSTRUCTOR_VALUE

          public static final String AUTOWIRE_CONSTRUCTOR_VALUE

      另请参阅:
        常量字段值

    - #### AUTOWIRE_AUTODETECT_VALUE

          public static final String AUTOWIRE_AUTODETECT_VALUE

      另请参阅:
        常量字段值

    - #### NAME_ATTRIBUTE

          public static final String NAME_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### BEAN_ELEMENT

          public static final String BEAN_ELEMENT

      另请参阅:
        常量字段值

    - #### META_ELEMENT

          public static final String META_ELEMENT

      另请参阅:
        常量字段值

    - #### ID_ATTRIBUTE

          public static final String ID_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### PARENT_ATTRIBUTE

          public static final String PARENT_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### CLASS_ATTRIBUTE

          public static final String CLASS_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### ABSTRACT_ATTRIBUTE

          public static final String ABSTRACT_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### SCOPE_ATTRIBUTE

          public static final String SCOPE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### LAZY_INIT_ATTRIBUTE

          public static final String LAZY_INIT_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### AUTOWIRE_ATTRIBUTE

          public static final String AUTOWIRE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### AUTOWIRE_CANDIDATE_ATTRIBUTE

          public static final String AUTOWIRE_CANDIDATE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### PRIMARY_ATTRIBUTE

          public static final String PRIMARY_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DEPENDS_ON_ATTRIBUTE

          public static final String DEPENDS_ON_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### INIT_METHOD_ATTRIBUTE

          public static final String INIT_METHOD_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DESTROY_METHOD_ATTRIBUTE

          public static final String DESTROY_METHOD_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### FACTORY_METHOD_ATTRIBUTE

          public static final String FACTORY_METHOD_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### FACTORY_BEAN_ATTRIBUTE

          public static final String FACTORY_BEAN_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### CONSTRUCTOR_ARG_ELEMENT

          public static final String CONSTRUCTOR_ARG_ELEMENT

      另请参阅:
        常量字段值

    - #### INDEX_ATTRIBUTE

          public static final String INDEX_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### TYPE_ATTRIBUTE

          public static final String TYPE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### VALUE_TYPE_ATTRIBUTE

          public static final String VALUE_TYPE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### KEY_TYPE_ATTRIBUTE

          public static final String KEY_TYPE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### PROPERTY_ELEMENT

          public static final String PROPERTY_ELEMENT

      另请参阅:
        常量字段值

    - #### REF_ATTRIBUTE

          public static final String REF_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### VALUE_ATTRIBUTE

          public static final String VALUE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### LOOKUP_METHOD_ELEMENT

          public static final String LOOKUP_METHOD_ELEMENT

      另请参阅:
        常量字段值

    - #### REPLACED_METHOD_ELEMENT

          public static final String REPLACED_METHOD_ELEMENT

      另请参阅:
        常量字段值

    - #### REPLACER_ATTRIBUTE

          public static final String REPLACER_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### ARG_TYPE_ELEMENT

          public static final String ARG_TYPE_ELEMENT

      另请参阅:
        常量字段值

    - #### ARG_TYPE_MATCH_ATTRIBUTE

          public static final String ARG_TYPE_MATCH_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### REF_ELEMENT

          public static final String REF_ELEMENT

      另请参阅:
        常量字段值

    - #### IDREF_ELEMENT

          public static final String IDREF_ELEMENT

      另请参阅:
        常量字段值

    - #### BEAN_REF_ATTRIBUTE

          public static final String BEAN_REF_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### PARENT_REF_ATTRIBUTE

          public static final String PARENT_REF_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### VALUE_ELEMENT

          public static final String VALUE_ELEMENT

      另请参阅:
        常量字段值

    - #### NULL_ELEMENT

          public static final String NULL_ELEMENT

      另请参阅:
        常量字段值

    - #### ARRAY_ELEMENT

          public static final String ARRAY_ELEMENT

      另请参阅:
        常量字段值

    - #### LIST_ELEMENT

          public static final String LIST_ELEMENT

      另请参阅:
        常量字段值

    - #### SET_ELEMENT

          public static final String SET_ELEMENT

      另请参阅:
        常量字段值

    - #### MAP_ELEMENT

          public static final String MAP_ELEMENT

      另请参阅:
        常量字段值

    - #### ENTRY_ELEMENT

          public static final String ENTRY_ELEMENT

      另请参阅:
        常量字段值

    - #### KEY_ELEMENT

          public static final String KEY_ELEMENT

      另请参阅:
        常量字段值

    - #### KEY_ATTRIBUTE

          public static final String KEY_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### KEY_REF_ATTRIBUTE

          public static final String KEY_REF_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### VALUE_REF_ATTRIBUTE

          public static final String VALUE_REF_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### PROPS_ELEMENT

          public static final String PROPS_ELEMENT

      另请参阅:
        常量字段值

    - #### PROP_ELEMENT

          public static final String PROP_ELEMENT

      另请参阅:
        常量字段值

    - #### MERGE_ATTRIBUTE

          public static final String MERGE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### QUALIFIER_ELEMENT

          public static final String QUALIFIER_ELEMENT

      另请参阅:
        常量字段值

    - #### QUALIFIER_ATTRIBUTE_ELEMENT

          public static final String QUALIFIER_ATTRIBUTE_ELEMENT

      另请参阅:
        常量字段值

    - #### DEFAULT_LAZY_INIT_ATTRIBUTE

          public static final String DEFAULT_LAZY_INIT_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DEFAULT_MERGE_ATTRIBUTE

          public static final String DEFAULT_MERGE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DEFAULT_AUTOWIRE_ATTRIBUTE

          public static final String DEFAULT_AUTOWIRE_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE

          public static final String DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DEFAULT_INIT_METHOD_ATTRIBUTE

          public static final String DEFAULT_INIT_METHOD_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### DEFAULT_DESTROY_METHOD_ATTRIBUTE

          public static final String DEFAULT_DESTROY_METHOD_ATTRIBUTE

      另请参阅:
        常量字段值

    - #### logger

          protected final Log logger

  - ### 构造器详细资料

    - #### BeanDefinitionParserDelegate

          public BeanDefinitionParserDelegate(XmlReaderContext readerContext)

      Create a new BeanDefinitionParserDelegate associated with the supplied `XmlReaderContext`.

  - ### 方法详细资料

    - #### getReaderContext

          public final XmlReaderContext getReaderContext()

      Get the `XmlReaderContext` associated with this helper instance.

    - #### extractSource

          @Nullable
          protected Object extractSource(Element ele)

      Invoke the `SourceExtractor` to pull the source metadata from the supplied `Element`.

    - #### error

          protected void error(String message,
                               Node source)

      Report an error with the given message for the given source element.

    - #### error

          protected void error(String message,
                               Element source)

      Report an error with the given message for the given source element.

    - #### error

          protected void error(String message,
                               Element source,
                               Throwable cause)

      Report an error with the given message for the given source element.

    - #### initDefaults

          public void initDefaults(Element root)

      Initialize the default settings assuming a `null` parent delegate.

    - #### initDefaults

          public void initDefaults(Element root,
                                   @Nullable
                                   BeanDefinitionParserDelegate parent)

      Initialize the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings. Support nested 'beans' element use cases by falling back to the given parent in case the defaults are not explicitly set locally.
      另请参阅:
        `populateDefaults(DocumentDefaultsDefinition, DocumentDefaultsDefinition, org.w3c.dom.Element)`, `getDefaults()`

    - #### populateDefaults

          protected void populateDefaults(DocumentDefaultsDefinition defaults,
                                          @Nullable
                                          DocumentDefaultsDefinition parentDefaults,
                                          Element root)

      Populate the given DocumentDefaultsDefinition instance with the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings. Support nested 'beans' element use cases by falling back to `parentDefaults` in case the defaults are not explicitly set locally.
      参数:
        `defaults` - the defaults to populate
        `parentDefaults` - the parent BeanDefinitionParserDelegate (if any) defaults to fall back to
        `root` - the root element of the current bean definition document (or nested beans element)

    - #### getDefaults

          public DocumentDefaultsDefinition getDefaults()

      Return the defaults definition object.

    - #### getBeanDefinitionDefaults

          public BeanDefinitionDefaults getBeanDefinitionDefaults()

      Return the default settings for bean definitions as indicated within the attributes of the top-level `<beans/>` element.

    - #### getAutowireCandidatePatterns

          @Nullable
          public String[] getAutowireCandidatePatterns()

      Return any patterns provided in the 'default-autowire-candidates' attribute of the top-level `<beans/>` element.

    - #### parseBeanDefinitionElement

          @Nullable
          public BeanDefinitionHolder parseBeanDefinitionElement(Element ele)

      Parses the supplied `<bean>` element. May return `null` if there were errors during parse. Errors are reported to the `ProblemReporter`.

    - #### parseBeanDefinitionElement

          @Nullable
          public BeanDefinitionHolder parseBeanDefinitionElement(Element ele,
                                                                            @Nullable
                                                                            BeanDefinition containingBean)

      Parses the supplied `<bean>` element. May return `null` if there were errors during parse. Errors are reported to the `ProblemReporter`.

    - #### checkNameUniqueness

          protected void checkNameUniqueness(String beanName,
                                             List<String> aliases,
                                             Element beanElement)

      Validate that the specified bean name and aliases have not been used already within the current level of beans element nesting.

    - #### parseBeanDefinitionElement

          @Nullable
          public AbstractBeanDefinition parseBeanDefinitionElement(Element ele,
                                                                              String beanName,
                                                                              @Nullable
                                                                              BeanDefinition containingBean)

      Parse the bean definition itself, without regard to name or aliases. May return `null` if problems occurred during the parsing of the bean definition.

    - #### parseBeanDefinitionAttributes

          public AbstractBeanDefinition parseBeanDefinitionAttributes(Element ele,
                                                                      String beanName,
                                                                      @Nullable
                                                                      BeanDefinition containingBean,
                                                                      AbstractBeanDefinition bd)

      Apply the attributes of the given bean element to the given bean * definition.
      参数:
        `ele` - bean declaration element
        `beanName` - bean name
        `containingBean` - containing bean definition
      返回:
        a bean definition initialized according to the bean element attributes

    - #### createBeanDefinition

          protected AbstractBeanDefinition createBeanDefinition(@Nullable
                                                                String className,
                                                                @Nullable
                                                                String parentName)
                                                         throws ClassNotFoundException

      Create a bean definition for the given class name and parent name.
      参数:
        `className` - the name of the bean class
        `parentName` - the name of the bean's parent bean
      返回:
        the newly created bean definition
      抛出:
        `ClassNotFoundException` - if bean class resolution was attempted but failed

    - #### parseMetaElements

          public void parseMetaElements(Element ele,
                                        BeanMetadataAttributeAccessor attributeAccessor)

    - #### getAutowireMode

          public int getAutowireMode(String attValue)

    - #### parseConstructorArgElements

          public void parseConstructorArgElements(Element beanEle,
                                                  BeanDefinition bd)

      Parse constructor-arg sub-elements of the given bean element.

    - #### parsePropertyElements

          public void parsePropertyElements(Element beanEle,
                                            BeanDefinition bd)

      Parse property sub-elements of the given bean element.

    - #### parseQualifierElements

          public void parseQualifierElements(Element beanEle,
                                             AbstractBeanDefinition bd)

      Parse qualifier sub-elements of the given bean element.

    - #### parseLookupOverrideSubElements

          public void parseLookupOverrideSubElements(Element beanEle,
                                                     MethodOverrides overrides)

      Parse lookup-override sub-elements of the given bean element.

    - #### parseReplacedMethodSubElements

          public void parseReplacedMethodSubElements(Element beanEle,
                                                     MethodOverrides overrides)

      Parse replaced-method sub-elements of the given bean element.

    - #### parseConstructorArgElement

          public void parseConstructorArgElement(Element ele,
                                                 BeanDefinition bd)

      Parse a constructor-arg element.

    - #### parsePropertyElement

          public void parsePropertyElement(Element ele,
                                           BeanDefinition bd)

      Parse a property element.

    - #### parseQualifierElement

          public void parseQualifierElement(Element ele,
                                            AbstractBeanDefinition bd)

      Parse a qualifier element.

    - #### parsePropertyValue

          @Nullable
          public Object parsePropertyValue(Element ele,
                                                      BeanDefinition bd,
                                                      @Nullable
                                                      String propertyName)

      Get the value of a property element. May be a list etc. Also used for constructor arguments, "propertyName" being null in this case.

    - #### parsePropertySubElement

          @Nullable
          public Object parsePropertySubElement(Element ele,
                                                           @Nullable
                                                           BeanDefinition bd)

    - #### parsePropertySubElement

          @Nullable
          public Object parsePropertySubElement(Element ele,
                                                           @Nullable
                                                           BeanDefinition bd,
                                                           @Nullable
                                                           String defaultValueType)

      Parse a value, ref or collection sub-element of a property or constructor-arg element.
      参数:
        `ele` - subelement of property element; we don't know which yet
        `defaultValueType` - the default type (class name) for any `<value>` tag that might be created

    - #### parseIdRefElement

          @Nullable
          public Object parseIdRefElement(Element ele)

      Return a typed String value Object for the given 'idref' element.

    - #### parseValueElement

          public Object parseValueElement(Element ele,
                                          @Nullable
                                          String defaultTypeName)

      Return a typed String value Object for the given value element.

    - #### buildTypedStringValue

          protected TypedStringValue buildTypedStringValue(String value,
                                                           @Nullable
                                                           String targetTypeName)
                                                    throws ClassNotFoundException

      Build a typed String value Object for the given raw value.
      抛出:
        `ClassNotFoundException`
      另请参阅:
        `TypedStringValue`

    - #### parseArrayElement

          public Object parseArrayElement(Element arrayEle,
                                          @Nullable
                                          BeanDefinition bd)

      Parse an array element.

    - #### parseListElement

          public List<Object> parseListElement(Element collectionEle,
                                               @Nullable
                                               BeanDefinition bd)

      Parse a list element.

    - #### parseSetElement

          public Set<Object> parseSetElement(Element collectionEle,
                                             @Nullable
                                             BeanDefinition bd)

      Parse a set element.

    - #### parseCollectionElements

          protected void parseCollectionElements(NodeList elementNodes,
                                                 Collection<Object> target,
                                                 @Nullable
                                                 BeanDefinition bd,
                                                 String defaultElementType)

    - #### parseMapElement

          public Map<Object,Object> parseMapElement(Element mapEle,
                                                    @Nullable
                                                    BeanDefinition bd)

      Parse a map element.

    - #### buildTypedStringValueForMap

          protected final Object buildTypedStringValueForMap(String value,
                                                             String defaultTypeName,
                                                             Element entryEle)

      Build a typed String value Object for the given raw value.
      另请参阅:
        `TypedStringValue`

    - #### parseKeyElement

          @Nullable
          protected Object parseKeyElement(Element keyEle,
                                                      @Nullable
                                                      BeanDefinition bd,
                                                      String defaultKeyTypeName)

      Parse a key sub-element of a map element.

    - #### parsePropsElement

          public Properties parsePropsElement(Element propsEle)

      Parse a props element.

    - #### parseMergeAttribute

          public boolean parseMergeAttribute(Element collectionElement)

      Parse the merge attribute of a collection element, if any.

    - #### parseCustomElement

          @Nullable
          public BeanDefinition parseCustomElement(Element ele)

    - #### parseCustomElement

          @Nullable
          public BeanDefinition parseCustomElement(Element ele,
                                                              @Nullable
                                                              BeanDefinition containingBd)

    - #### decorateBeanDefinitionIfRequired

          public BeanDefinitionHolder decorateBeanDefinitionIfRequired(Element ele,
                                                                       BeanDefinitionHolder definitionHolder)

    - #### decorateBeanDefinitionIfRequired

          public BeanDefinitionHolder decorateBeanDefinitionIfRequired(Element ele,
                                                                       BeanDefinitionHolder definitionHolder,
                                                                       @Nullable
                                                                       BeanDefinition containingBd)

    - #### decorateIfRequired

          public BeanDefinitionHolder decorateIfRequired(Node node,
                                                         BeanDefinitionHolder originalDef,
                                                         @Nullable
                                                         BeanDefinition containingBd)

    - #### getNamespaceURI

          @Nullable
          public String getNamespaceURI(Node node)

      Get the namespace URI for the supplied node.

      The default implementation uses `Node.getNamespaceURI()`. Subclasses may override the default implementation to provide a different namespace identification mechanism.

      参数:
        `node` - the node

    - #### getLocalName

          public String getLocalName(Node node)

      Get the local name for the supplied `Node`.

      The default implementation calls `Node.getLocalName()`. Subclasses may override the default implementation to provide a different mechanism for getting the local name.

      参数:
        `node` - the `Node`

    - #### nodeNameEquals

          public boolean nodeNameEquals(Node node,
                                        String desiredName)

      Determine whether the name of the supplied node is equal to the supplied name.

      The default implementation checks the supplied desired name against both `Node.getNodeName()` and `Node.getLocalName()`.

      Subclasses may override the default implementation to provide a different mechanism for comparing node names.

      参数:
        `node` - the node to compare
        `desiredName` - the name to check for

    - #### isDefaultNamespace

          public boolean isDefaultNamespace(@Nullable
                                            String namespaceUri)

    - #### isDefaultNamespace

          public boolean isDefaultNamespace(Node node)