org.springframework.validation.beanvalidation

## 类 MethodValidationPostProcessor

- java.lang.Object
- - org.springframework.aop.framework.ProxyConfig
  - - org.springframework.aop.framework.ProxyProcessorSupport
    - - org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor
      - - org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor
        - - org.springframework.validation.beanvalidation.MethodValidationPostProcessor

- 所有已实现的接口:
    Serializable, org.springframework.aop.framework.AopInfrastructureBean, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered

      public class MethodValidationPostProcessor
      extends org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor
      implements org.springframework.beans.factory.InitializingBean

  A convenient `BeanPostProcessor` implementation that delegates to a JSR-303 provider for performing method-level validation on annotated methods.

  Applicable methods have JSR-303 constraint annotations on their parameters and/or on their return value (in the latter case specified at the method level, typically as inline annotation), e.g.:

       public @NotNull Object myValidMethod(@NotNull String arg1, @Max(10) int arg2)

  Target classes with such annotated methods need to be annotated with Spring's `Validated` annotation at the type level, for their methods to be searched for inline constraint annotations. Validation groups can be specified through `@Validated` as well. By default, JSR-303 will validate against its default group only.

  As of Spring 5.0, this functionality requires a Bean Validation 1.1 provider.

  从以下版本开始:
    3.1
  作者:
    Juergen Hoeller
  另请参阅:
    `MethodValidationInterceptor`, `ExecutableValidator`, 序列化表格

- - ### 字段概要

    - ### 从类继承的字段 org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor

      `advisor, beforeExistingAdvisors`

    - ### 从接口继承的字段 org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### 构造器概要

    构造器
    构造器和说明
    `MethodValidationPostProcessor()`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `afterPropertiesSet()`
    `protected org.aopalliance.aop.Advice` | `createMethodValidationAdvice(Validator validator)` Create AOP advice for method validation purposes, to be applied with a pointcut for the specified 'validated' annotation.
    `void` | `setValidatedAnnotationType(Class<? extends Annotation> validatedAnnotationType)` Set the 'validated' annotation type.
    `void` | `setValidator(Validator validator)` Set the JSR-303 Validator to delegate to for validating methods.
    `void` | `setValidatorFactory(ValidatorFactory validatorFactory)` Set the JSR-303 ValidatorFactory to delegate to for validating methods, using its default Validator.

    - ### 从类继承的方法 org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor

      `prepareProxyFactory, setBeanFactory`

    - ### 从类继承的方法 org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor

      `customizeProxyFactory, isEligible, isEligible, postProcessAfterInitialization, postProcessBeforeInitialization, setBeforeExistingAdvisors`

    - ### 从类继承的方法 org.springframework.aop.framework.ProxyProcessorSupport

      `evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader`

    - ### 从类继承的方法 org.springframework.aop.framework.ProxyConfig

      `copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString`

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

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

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

    - #### MethodValidationPostProcessor

          public MethodValidationPostProcessor()

  - ### 方法详细资料

    - #### setValidatedAnnotationType

          public void setValidatedAnnotationType(Class<? extends Annotation> validatedAnnotationType)

      Set the 'validated' annotation type. The default validated annotation type is the `Validated` annotation.

      This setter property exists so that developers can provide their own (non-Spring-specific) annotation type to indicate that a class is supposed to be validated in the sense of applying method validation.

      参数:
        `validatedAnnotationType` - the desired annotation type

    - #### setValidator

          public void setValidator(Validator validator)

      Set the JSR-303 Validator to delegate to for validating methods.

      Default is the default ValidatorFactory's default Validator.

    - #### setValidatorFactory

          public void setValidatorFactory(ValidatorFactory validatorFactory)

      Set the JSR-303 ValidatorFactory to delegate to for validating methods, using its default Validator.

      Default is the default ValidatorFactory's default Validator.

      另请参阅:
        `ValidatorFactory.getValidator()`

    - #### afterPropertiesSet

          public void afterPropertiesSet()

      指定者:
        `afterPropertiesSet` 在接口中 `org.springframework.beans.factory.InitializingBean`

    - #### createMethodValidationAdvice

          protected org.aopalliance.aop.Advice createMethodValidationAdvice(@Nullable
                                                                            Validator validator)

      Create AOP advice for method validation purposes, to be applied with a pointcut for the specified 'validated' annotation.
      参数:
        `validator` - the JSR-303 Validator to delegate to
      返回:
        the interceptor to use (typically, but not necessarily, a `MethodValidationInterceptor` or subclass thereof)
      从以下版本开始:
        4.2