## 类的使用
org.springframework.beans.factory.config.DependencyDescriptor

- 使用DependencyDescriptor的程序包
  程序包 | 说明
  --- | ---
  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.support | Classes supporting the `org.springframework.beans.factory` package.

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

    参数类型为DependencyDescriptor的org.springframework.beans.factory.annotation中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `Object` | QualifierAnnotationAutowireCandidateResolver.`getSuggestedValue(DependencyDescriptor descriptor)` Determine whether the given dependency declares a value annotation.
    `boolean` | QualifierAnnotationAutowireCandidateResolver.`isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)` Determine whether the provided bean definition is an autowire candidate.
    `boolean` | QualifierAnnotationAutowireCandidateResolver.`isRequired(DependencyDescriptor descriptor)` Determine whether the given dependency declares an autowired annotation, checking its required flag.

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

    返回DependencyDescriptor的org.springframework.beans.factory.config中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `DependencyDescriptor` | DependencyDescriptor.`forFallbackMatch()` Return a variant of this descriptor that is intended for a fallback match.

    参数类型为DependencyDescriptor的org.springframework.beans.factory.config中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | ConfigurableListableBeanFactory.`isAutowireCandidate(String beanName, DependencyDescriptor descriptor)` Determine whether the specified bean qualifies as an autowire candidate, to be injected into other beans which declare a dependency of matching type.
    `Object` | AutowireCapableBeanFactory.`resolveDependency(DependencyDescriptor descriptor, String requestingBeanName)` Resolve the specified dependency against the beans defined in this factory.
    `Object` | AutowireCapableBeanFactory.`resolveDependency(DependencyDescriptor descriptor, String requestingBeanName, Set<String> autowiredBeanNames, TypeConverter typeConverter)` Resolve the specified dependency against the beans defined in this factory.

    参数类型为DependencyDescriptor的org.springframework.beans.factory.config中的构造器
    构造器和说明
    `DependencyDescriptor(DependencyDescriptor original)` Copy constructor.

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

    参数类型为DependencyDescriptor的org.springframework.beans.factory.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected boolean` | GenericTypeAwareAutowireCandidateResolver.`checkGenericTypeMatch(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)` Match the given dependency type with its generic type information against the given candidate bean definition.
    `protected String` | DefaultListableBeanFactory.`determineAutowireCandidate(Map<String,Object> candidates, DependencyDescriptor descriptor)` Determine the autowire candidate in the given set of beans.
    `Object` | DefaultListableBeanFactory.`doResolveDependency(DependencyDescriptor descriptor, String beanName, Set<String> autowiredBeanNames, TypeConverter typeConverter)`
    `protected Map<String,Object>` | DefaultListableBeanFactory.`findAutowireCandidates(String beanName, Class<?> requiredType, DependencyDescriptor descriptor)` Find bean instances that match the required type.
    `default Object` | AutowireCandidateResolver.`getLazyResolutionProxyIfNecessary(DependencyDescriptor descriptor, String beanName)` Build a proxy for lazy resolution of the actual dependency target, if demanded by the injection point.
    `Object` | SimpleAutowireCandidateResolver.`getLazyResolutionProxyIfNecessary(DependencyDescriptor descriptor, String beanName)`
    `protected org.springframework.core.ResolvableType` | GenericTypeAwareAutowireCandidateResolver.`getReturnTypeForFactoryMethod(RootBeanDefinition rbd, DependencyDescriptor descriptor)`
    `default Object` | AutowireCandidateResolver.`getSuggestedValue(DependencyDescriptor descriptor)` Determine whether a default value is suggested for the given dependency.
    `Object` | SimpleAutowireCandidateResolver.`getSuggestedValue(DependencyDescriptor descriptor)`
    `default boolean` | AutowireCandidateResolver.`isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)` Determine whether the given bean definition qualifies as an autowire candidate for the given dependency.
    `boolean` | GenericTypeAwareAutowireCandidateResolver.`isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)`
    `boolean` | SimpleAutowireCandidateResolver.`isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)`
    `boolean` | DefaultListableBeanFactory.`isAutowireCandidate(String beanName, DependencyDescriptor descriptor)`
    `protected boolean` | DefaultListableBeanFactory.`isAutowireCandidate(String beanName, DependencyDescriptor descriptor, AutowireCandidateResolver resolver)` Determine whether the specified bean definition qualifies as an autowire candidate, to be injected into other beans which declare a dependency of matching type.
    `protected boolean` | DefaultListableBeanFactory.`isAutowireCandidate(String beanName, RootBeanDefinition mbd, DependencyDescriptor descriptor, AutowireCandidateResolver resolver)` Determine whether the specified bean definition qualifies as an autowire candidate, to be injected into other beans which declare a dependency of matching type.
    `default boolean` | AutowireCandidateResolver.`isRequired(DependencyDescriptor descriptor)` Determine whether the given descriptor is effectively required.
    `boolean` | SimpleAutowireCandidateResolver.`isRequired(DependencyDescriptor descriptor)`
    `Object` | AbstractAutowireCapableBeanFactory.`resolveDependency(DependencyDescriptor descriptor, String requestingBeanName)`
    `Object` | DefaultListableBeanFactory.`resolveDependency(DependencyDescriptor descriptor, String requestingBeanName, Set<String> autowiredBeanNames, TypeConverter typeConverter)`