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
, ExecutableValidator
EE, 直列化された形式 advisor, beforeExistingAdvisors
HIGHEST_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, setBeanFactory
customizeProxyFactory, isEligible, postProcessAfterInitialization, postProcessBeforeInitialization, setBeforeExistingAdvisors
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public 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()
InitializingBean
BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含 BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean
の afterPropertiesSet
protected Advice createMethodValidationAdvice(@Nullable ValidatorEE validator)
validator
- 委譲する JSR-303 バリデーター MethodValidationInterceptor
またはそのサブクラス)