クラス MethodValidationPostProcessor
- 実装されたすべてのインターフェース:
SerializableSE
、AopInfrastructureBean
、Aware
、BeanClassLoaderAware
、BeanFactoryAware
、BeanPostProcessor
、InstantiationAwareBeanPostProcessor
、SmartInstantiationAwareBeanPostProcessor
、InitializingBean
、Ordered
BeanPostProcessor
実装。適用可能なメソッドには、パラメーターおよび / または戻り値に JSR-303 制約アノテーションがあります (後者の場合、通常はインラインアノテーションとしてメソッドレベルで指定されます)。例:
public @NotNull Object myValidMethod(@NotNull String arg1, @Max(10) int arg2)
検証エラーが発生した場合、インターセプターは ConstraintViolationException
EE を発生させるか、違反を MethodValidationResult
に適応させて MethodValidationException
を発生させることができます。
このようなアノテーション付きメソッドを持つターゲットクラスは、インライン制約アノテーションをメソッドで検索するために、型レベルで Spring の Validated
アノテーションを付ける必要があります。検証グループは @Validated
でも指定できます。デフォルトでは、JSR-303 はそのデフォルトグループに対してのみ検証します。
この機能には、Bean 検証 1.1+ プロバイダーが必要です。
- 導入:
- 3.1
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
クラス org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor から継承されたフィールド
advisor, beforeExistingAdvisors
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明void
protected Advice
createMethodValidationAdvice
(SupplierSE<ValidatorEE> validator) メソッド検証の目的で AOP アドバイスを作成し、指定された「検証済み」アノテーションのポイントカットを適用します。void
setAdaptConstraintViolations
(boolean adaptViolations) ConstraintViolation
EE をMethodValidationResult
に適応させるかどうか。void
setValidatedAnnotationType
(ClassSE<? extends AnnotationSE> validatedAnnotationType) 「検証済み」のアノテーション型を設定します。void
setValidator
(ValidatorEE validator) メソッドを検証するために委譲する JSR-303 バリデーターを設定します。void
setValidatorFactory
(ValidatorFactoryEE validatorFactory) デフォルトの Validator を使用して、JSR-303 ValidatorFactory を検証メソッドに委譲するように設定します。void
setValidatorProvider
(ObjectProvider<ValidatorEE> validatorProvider) 遅延初期化された Validator を設定して、メソッドを検証するために委譲します。クラス org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor から継承されたメソッド
isEligible, prepareProxyFactory, setBeanFactory
クラス org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor から継承されたメソッド
customizeProxyFactory, determineBeanType, isEligible, postProcessAfterInitialization, 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.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.config.BeanPostProcessor から継承されたメソッド
postProcessBeforeInitialization
インターフェース org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor から継承されたメソッド
postProcessAfterInstantiation, postProcessBeforeInstantiation, postProcessProperties
インターフェース org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor から継承されたメソッド
determineCandidateConstructors, getEarlyBeanReference, predictBeanType
コンストラクターの詳細
MethodValidationPostProcessor
public MethodValidationPostProcessor()
メソッドの詳細
setValidatedAnnotationType
「検証済み」のアノテーション型を設定します。デフォルトの検証済みアノテーション型はValidated
アノテーションです。この setter プロパティは、開発者が独自の(Spring 固有ではない)アノテーション型を提供して、クラスがメソッド検証を適用するという意味で検証されることになっていることを示すために存在します。
- パラメーター:
validatedAnnotationType
- 目的のアノテーション型
setValidatorFactory
デフォルトの Validator を使用して、JSR-303 ValidatorFactory を検証メソッドに委譲するように設定します。デフォルトは、デフォルトの ValidatorFactory のデフォルトのバリデーターです。
setValidator
メソッドを検証するために委譲する JSR-303 バリデーターを設定します。デフォルトは、デフォルトの ValidatorFactory のデフォルトのバリデーターです。
setValidatorProvider
遅延初期化された Validator を設定して、メソッドを検証するために委譲します。- 導入:
- 6.0
- 関連事項:
setAdaptConstraintViolations
public void setAdaptConstraintViolations(boolean adaptViolations) ConstraintViolation
EE をMethodValidationResult
に適応させるかどうか。デフォルトでは
false
ですが、違反があった場合にはConstraintViolationException
EE が発生します。true
に設定すると、代わりにメソッド検証結果を使用してMethodValidationException
が発生します。- 導入:
- 6.1
afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBean
すべての Bean プロパティを設定し、BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
createMethodValidationAdvice
メソッド検証の目的で AOP アドバイスを作成し、指定された「検証済み」アノテーションのポイントカットを適用します。- パラメーター:
validator
- Validator が使用するための Supplier- 戻り値:
- 使用するインターセプター (通常、
MethodValidationInterceptor
またはそのサブクラス) - 導入:
- 6.0