public class MethodValidationPostProcessor extends AbstractBeanFactoryAwareAdvisingPostProcessor implements InitializingBean
BeanPostProcessor 実装。該当するメソッドには、パラメーターおよび / または戻り値に JSR-303 制約アノテーションがあります(後者の場合、メソッドレベルで、通常はインラインアノテーションとして指定されます)。次に例を示します。
public @NotNull Object myValidMethod(@NotNull String arg1, @Max(10) int arg2)
このようなアノテーション付きメソッドを持つターゲットクラスは、インライン制約アノテーションをメソッドで検索するために、型レベルで Spring の Validated アノテーションを付ける必要があります。検証グループは @Validated でも指定できます。デフォルトでは、JSR-303 はそのデフォルトグループに対してのみ検証します。
Spring 5.0 の時点で、この機能には Bean 検証 1.1 + プロバイダーが必要です。
MethodValidationInterceptor, ExecutableValidatorEE, 連載形式 advisor, beforeExistingAdvisorsHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| コンストラクターと説明 |
|---|
MethodValidationPostProcessor() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterPropertiesSet() |
protected Advice | createMethodValidationAdvice(ValidatorEE validator) メソッド検証の目的で AOP アドバイスを作成し、指定された「検証済み」アノテーションのポイントカットを適用します。 |
void | setValidatedAnnotationType(ClassSE<? extends AnnotationSE> validatedAnnotationType)「検証済み」のアノテーション型を設定します。 |
void | setValidator(ValidatorEE validator) メソッドを検証するために委譲する JSR-303 バリデーターを設定します。 |
void | setValidatorFactory(ValidatorFactoryEE validatorFactory) デフォルトの Validator を使用して、JSR-303 ValidatorFactory を検証メソッドに委譲するように設定します。 |
isEligible, prepareProxyFactory, setBeanFactorycustomizeProxyFactory, isEligible, postProcessAfterInitialization, postProcessBeforeInitialization, setBeforeExistingAdvisorsevaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoadercopyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic void setValidatedAnnotationType(ClassSE<? extends AnnotationSE> validatedAnnotationType)
Validated アノテーションです。この setter プロパティは、開発者が独自の(Spring 固有ではない)アノテーション型を提供して、クラスがメソッド検証を適用するという意味で検証されることになっていることを示すために存在します。
validatedAnnotationType - 目的のアノテーション型 public void setValidator(ValidatorEE validator)
デフォルトは、デフォルトの ValidatorFactory のデフォルトのバリデーターです。
public void setValidatorFactory(ValidatorFactoryEE validatorFactory)
デフォルトは、デフォルトの ValidatorFactory のデフォルトのバリデーターです。
public void afterPropertiesSet()
InitializingBeanBeanFactoryAware、ApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean の afterPropertiesSet protected Advice createMethodValidationAdvice(@Nullable ValidatorEE validator)
validator - 委譲する JSR-303 バリデーター MethodValidationInterceptor またはそのサブクラス)