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

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

- - ### org.springframework.beans中PropertyValues的使用

    实现PropertyValues的org.springframework.beans中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `MutablePropertyValues` The default implementation of the `PropertyValues` interface.

    返回PropertyValues的org.springframework.beans中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `PropertyValues` | MutablePropertyValues.`changesSince(PropertyValues old)`
    `PropertyValues` | PropertyValues.`changesSince(PropertyValues old)` Return the changes since the previous PropertyValues.

    参数类型为PropertyValues的org.springframework.beans中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `MutablePropertyValues` | MutablePropertyValues.`addPropertyValues(PropertyValues other)` Copy all given PropertyValues into this object.
    `PropertyValues` | MutablePropertyValues.`changesSince(PropertyValues old)`
    `PropertyValues` | PropertyValues.`changesSince(PropertyValues old)` Return the changes since the previous PropertyValues.
    `void` | AbstractPropertyAccessor.`setPropertyValues(PropertyValues pvs)`
    `void` | PropertyAccessor.`setPropertyValues(PropertyValues pvs)` The preferred way to perform a batch update.
    `void` | AbstractPropertyAccessor.`setPropertyValues(PropertyValues pvs, boolean ignoreUnknown)`
    `void` | PropertyAccessor.`setPropertyValues(PropertyValues pvs, boolean ignoreUnknown)` Perform a batch update with more control over behavior.
    `void` | AbstractPropertyAccessor.`setPropertyValues(PropertyValues pvs, boolean ignoreUnknown, boolean ignoreInvalid)`
    `void` | PropertyAccessor.`setPropertyValues(PropertyValues pvs, boolean ignoreUnknown, boolean ignoreInvalid)` Perform a batch update with full control over behavior.

    参数类型为PropertyValues的org.springframework.beans中的构造器
    构造器和说明
    `MutablePropertyValues(PropertyValues original)` Deep copy constructor.

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

    返回PropertyValues的org.springframework.beans.factory.annotation中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `PropertyValues` | AutowiredAnnotationBeanPostProcessor.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)`
    `PropertyValues` | RequiredAnnotationBeanPostProcessor.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)`

    参数类型为PropertyValues的org.springframework.beans.factory.annotation中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected boolean` | InjectionMetadata.InjectedElement.`checkPropertySkipping(PropertyValues pvs)` Check whether this injector's property needs to be skipped due to an explicit property value having been specified.
    `void` | InjectionMetadata.`clear(PropertyValues pvs)` Clear property skipping for the contained elements.
    `protected void` | InjectionMetadata.InjectedElement.`clearPropertySkipping(PropertyValues pvs)` Clear property skipping for this element.
    `void` | InjectionMetadata.`inject(Object target, String beanName, PropertyValues pvs)`
    `protected void` | InjectionMetadata.InjectedElement.`inject(Object target, String requestingBeanName, PropertyValues pvs)` Either this or `InjectionMetadata.InjectedElement.getResourceToInject(java.lang.Object, java.lang.String)` needs to be overridden.
    `PropertyValues` | AutowiredAnnotationBeanPostProcessor.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)`
    `PropertyValues` | RequiredAnnotationBeanPostProcessor.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)`

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

    返回PropertyValues的org.springframework.beans.factory.config中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `default PropertyValues` | InstantiationAwareBeanPostProcessor.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)` Post-process the given property values before the factory applies them to the given bean.
    `PropertyValues` | InstantiationAwareBeanPostProcessorAdapter.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)`

    参数类型为PropertyValues的org.springframework.beans.factory.config中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `default PropertyValues` | InstantiationAwareBeanPostProcessor.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)` Post-process the given property values before the factory applies them to the given bean.
    `PropertyValues` | InstantiationAwareBeanPostProcessorAdapter.`postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)`

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

    参数类型为PropertyValues的org.springframework.beans.factory.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected void` | AbstractAutowireCapableBeanFactory.`applyPropertyValues(String beanName, BeanDefinition mbd, BeanWrapper bw, PropertyValues pvs)` Apply the given property values, resolving any runtime references to other beans in this bean factory.
    `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.