org.springframework.beans.factory.config

## 类 BeanDefinitionVisitor

- java.lang.Object
- - org.springframework.beans.factory.config.BeanDefinitionVisitor

-     public class BeanDefinitionVisitor
      extends Object

  Visitor class for traversing `BeanDefinition` objects, in particular the property values and constructor argument values contained in them, resolving bean metadata values.

  Used by `PropertyPlaceholderConfigurer` to parse all String values contained in a BeanDefinition, resolving any placeholders found.

  从以下版本开始:
    1.2
  作者:
    Juergen Hoeller, Sam Brannen
  另请参阅:
    `BeanDefinition`, `BeanDefinition.getPropertyValues()`, `BeanDefinition.getConstructorArgumentValues()`, `PropertyPlaceholderConfigurer`

- - ### 构造器概要

    构造器
    限定符 | 构造器和说明
    --- | ---
    `protected` | `BeanDefinitionVisitor()` Create a new BeanDefinitionVisitor for subclassing.
    `` | `BeanDefinitionVisitor(org.springframework.util.StringValueResolver valueResolver)` Create a new BeanDefinitionVisitor, applying the specified value resolver to all bean metadata values.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected String` | `resolveStringValue(String strVal)` Resolve the given String value, for example parsing placeholders.
    `protected Object` | `resolveValue(Object value)`
    `protected void` | `visitArray(Object[] arrayVal)`
    `protected void` | `visitBeanClassName(BeanDefinition beanDefinition)`
    `void` | `visitBeanDefinition(BeanDefinition beanDefinition)` Traverse the given BeanDefinition object and the MutablePropertyValues and ConstructorArgumentValues contained in them.
    `protected void` | `visitFactoryBeanName(BeanDefinition beanDefinition)`
    `protected void` | `visitFactoryMethodName(BeanDefinition beanDefinition)`
    `protected void` | `visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas)`
    `protected void` | `visitIndexedArgumentValues(Map<Integer,ConstructorArgumentValues.ValueHolder> ias)`
    `protected void` | `visitList(List listVal)`
    `protected void` | `visitMap(Map<?,?> mapVal)`
    `protected void` | `visitParentName(BeanDefinition beanDefinition)`
    `protected void` | `visitPropertyValues(MutablePropertyValues pvs)`
    `protected void` | `visitScope(BeanDefinition beanDefinition)`
    `protected void` | `visitSet(Set setVal)`

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

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

- - ### 构造器详细资料

    - #### BeanDefinitionVisitor

          public BeanDefinitionVisitor(org.springframework.util.StringValueResolver valueResolver)

      Create a new BeanDefinitionVisitor, applying the specified value resolver to all bean metadata values.
      参数:
        `valueResolver` - the StringValueResolver to apply

    - #### BeanDefinitionVisitor

          protected BeanDefinitionVisitor()

      Create a new BeanDefinitionVisitor for subclassing. Subclasses need to override the `resolveStringValue(java.lang.String)` method.

  - ### 方法详细资料

    - #### visitBeanDefinition

          public void visitBeanDefinition(BeanDefinition beanDefinition)

      Traverse the given BeanDefinition object and the MutablePropertyValues and ConstructorArgumentValues contained in them.
      参数:
        `beanDefinition` - the BeanDefinition object to traverse
      另请参阅:
        `resolveStringValue(String)`

    - #### visitParentName

          protected void visitParentName(BeanDefinition beanDefinition)

    - #### visitBeanClassName

          protected void visitBeanClassName(BeanDefinition beanDefinition)

    - #### visitFactoryBeanName

          protected void visitFactoryBeanName(BeanDefinition beanDefinition)

    - #### visitFactoryMethodName

          protected void visitFactoryMethodName(BeanDefinition beanDefinition)

    - #### visitScope

          protected void visitScope(BeanDefinition beanDefinition)

    - #### visitPropertyValues

          protected void visitPropertyValues(MutablePropertyValues pvs)

    - #### visitIndexedArgumentValues

          protected void visitIndexedArgumentValues(Map<Integer,ConstructorArgumentValues.ValueHolder> ias)

    - #### visitGenericArgumentValues

          protected void visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas)

    - #### resolveValue

          @Nullable
          protected Object resolveValue(@Nullable
                                                   Object value)

    - #### visitArray

          protected void visitArray(Object[] arrayVal)

    - #### visitList

          protected void visitList(List listVal)

    - #### visitSet

          protected void visitSet(Set setVal)

    - #### visitMap

          protected void visitMap(Map<?,?> mapVal)

    - #### resolveStringValue

          @Nullable
          protected String resolveStringValue(String strVal)

      Resolve the given String value, for example parsing placeholders.
      参数:
        `strVal` - the original String value
      返回:
        the resolved String value