クラス LocalValidatorFactoryBean
- 実装されているすべてのインターフェース:
ValidatorEE、ValidatorFactoryEE、AutoCloseableSE、Aware、DisposableBean、InitializingBean、ApplicationContextAware、SmartValidator、Validator
- 既知の直属サブクラス
OptionalValidatorFactoryBean
jakarta.validation (JSR-303)セットアップの中心的なクラスです。jakarta.validation.ValidationFactory をブートストラップし、Spring Validator インターフェースと、JSR-303 ValidatorEE インターフェースおよび ValidatorFactoryEE インターフェース自体を介して公開します。Spring または JSR-303 Validator インターフェースを介してこの Bean のインスタンスと通信するときは、基礎となる ValidatorFactory のデフォルトの Validator と通信します。デフォルトのバリデーターをほとんど常に使用すると仮定すると、ファクトリでさらに別の呼び出しを実行する必要がないという点で、これは非常に便利です。これは、型 Validator のターゲット依存関係に直接挿入することもできます。
このクラスは、jakarta.validation API は存在するが明示的な Validator が構成されていない場合に、Spring の MVC 構成名前空間でも使用されます。
- 導入:
- 3.0
- 作成者:
- Juergen Hoeller, Sebastien Deleuze
- 関連事項:
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidvoidclose()voiddestroy()Bean の破棄時に、包含BeanFactoryによって呼び出されます。特定のエントリを追加またはオーバーライドするオプションを使用して、マップが Bean 検証プロパティへのアクセスを検証プロバイダーに渡すことを許可します。protected voidpostProcessConfiguration(ConfigurationEE<?> configuration) 指定された Bean 検証構成を後処理し、その設定を追加または上書きします。voidsetApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。voidsetConfigurationInitializer(ConsumerSE<ConfigurationEE<?>> configurationInitializer) カスタムLocalValidatorFactoryBeanサブクラスでpostProcessConfiguration(Configuration)メソッドをオーバーライドする代わりに、Bean 検証Configurationインスタンスをカスタマイズするためのコールバックを指定します。voidsetConstraintValidatorFactory(ConstraintValidatorFactoryEE constraintValidatorFactory) この ValidatorFactory に使用するカスタム ConstraintValidatorFactory を指定します。voidsetMappingLocations(Resource... mappingLocations) XML 制約マッピングファイルをロードするリソースの場所を指定します(ある場合)。voidsetMessageInterpolator(MessageInterpolatorEE messageInterpolator) この ValidatorFactory とその公開されたデフォルトバリデーターに使用するカスタム MessageInterpolator を指定します。voidsetParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer) メッセージの補間に必要な場合は、メソッドとコンストラクターのパラメーター名の解決に使用する ParameterNameDiscoverer を設定します。voidsetProviderClass(ClassSE providerClass) 必要に応じて、必要なプロバイダークラスを指定します。voidsetTraversableResolver(TraversableResolverEE traversableResolver) この ValidatorFactory とその公開されたデフォルトバリデーターに使用するカスタム TraversableResolver を指定します。voidsetValidationMessageSource(MessageSource messageSource) クラスパスの JSR-303 のデフォルトの "ValidationMessages.properties" バンドルに依存する代わりに、検証メッセージを解決するためのカスタム Spring MessageSource を指定します。voidsetValidationProperties(PropertiesSE jpaProperties) 検証プロバイダーに渡される Bean 検証プロパティを指定します。voidsetValidationPropertyMap(MapSE<StringSE, StringSE> validationProperties) 検証プロバイダーにマップとして渡される Bean 検証プロパティを指定します。voidsetValidationProviderResolver(ValidationProviderResolverEE validationProviderResolver) META-INFによる解決の代わりに、選択したプロバイダーをブートストラップするための JSR-303ValidationProviderResolverEE を指定します。<T> Tクラス org.springframework.validation.beanvalidation.SpringValidatorAdapter から継承されたメソッド
determineErrorCode, determineField, forExecutables, getArgumentsForConstraint, getConstraintsForClass, getRejectedValue, getResolvableField, processConstraintViolations, requiresMessageFormat, supports, validate, validate, validate, validateProperty, validateValue, validateValue
コンストラクターの詳細
LocalValidatorFactoryBean
public LocalValidatorFactoryBean()
メソッドの詳細
setProviderClass
必要に応じて、必要なプロバイダークラスを指定します。指定しない場合、JSR-303 のデフォルトの検索メカニズムが使用されます。
setValidationProviderResolver
META-INFによる解決の代わりに、選択したプロバイダーをブートストラップするための JSR-303ValidationProviderResolverEE を指定します。- 導入:
- 4.3
setMessageInterpolator
この ValidatorFactory とその公開されたデフォルトバリデーターに使用するカスタム MessageInterpolator を指定します。setValidationMessageSource
クラスパス内の JSR-303 のデフォルトの "ValidationMessages.properties" バンドルに頼るのではなく、検証メッセージを解決するためのカスタム Spring MessageSource を指定します。これは、Spring コンテキストの共有 "messageSource" Bean を参照するか、検証目的のみの特別な MessageSource セットアップを参照する場合があります。注意 : この機能には、クラスパス上に Hibernate Validator 4.3 以降が必要です。それでも別の検証プロバイダーを使用することはできますが、Hibernate Validator の
ResourceBundleMessageInterpolatorクラスは構成中にアクセスできる必要があります。このプロパティまたは
"messageInterpolator"の両方ではなく、どちらかを指定します。カスタム MessageInterpolator を構築したい場合は、補間器を構築するときに、Hibernate Validator のResourceBundleMessageInterpolatorから派生し、Spring ベースのResourceBundleLocatorを渡すことを検討してください。Hibernate のデフォルトの検証メッセージを引き続き解決するには、
MessageSourceをオプションの解決(通常はデフォルト)に構成する必要があります。特に、ここで指定されたMessageSourceインスタンスは"useCodeAsDefaultMessage"の動作を適用しないでください。それに応じて設定を再確認してください。- 関連事項:
ResourceBundleMessageInterpolator
setTraversableResolver
この ValidatorFactory とその公開されたデフォルトバリデーターに使用するカスタム TraversableResolver を指定します。setConstraintValidatorFactory
この ValidatorFactory に使用するカスタム ConstraintValidatorFactory を指定します。デフォルトは
SpringConstraintValidatorFactoryであり、オートワイヤーされた ConstraintValidator インスタンスを作成するために、それを含む ApplicationContext に委譲します。setParameterNameDiscoverer
メッセージの補間に必要な場合は、メソッドとコンストラクターのパラメーター名の解決に使用する ParameterNameDiscoverer を設定します。デフォルトは Hibernate バリデーター独自の標準 Java リフレクションの内部使用です。これは、必要に応じて、カスタムサブクラスまたは Spring 制御の
DefaultParameterNameDiscovererでオーバーライドできます。setMappingLocations
XML 制約マッピングファイルをロードするリソースの場所を指定します(ある場合)。setValidationProperties
検証プロバイダーに渡される Bean 検証プロパティを指定します。文字列 "value" (PropertiesEditor で解析)または XML Bean 定義の "props" 要素を入力できます。
setValidationPropertyMap
検証プロバイダーにマップとして渡される Bean 検証プロパティを指定します。XML Bean 定義の「マップ」または "props" 要素を取り込むことができます。
getValidationPropertyMap
特定のエントリを追加またはオーバーライドするオプションを使用して、マップが Bean 検証プロパティへのアクセスを検証プロバイダーに渡すことを許可します。たとえば "validationPropertyMap [myKey]" を介してエントリを直接指定するのに便利です。
setConfigurationInitializer
カスタムLocalValidatorFactoryBeanサブクラスでpostProcessConfiguration(Configuration)メソッドをオーバーライドする代わりに、Bean 検証Configurationインスタンスをカスタマイズするためのコールバックを指定します。これにより、アプリケーションの目的で便利なカスタマイズが可能になります。インフラストラクチャ拡張機能は、
postProcessConfiguration(jakarta.validation.Configuration<?>)テンプレートメソッドをオーバーライドし続ける可能性があります。- 導入:
- 5.3.19
setApplicationContext
インターフェースからコピーされた説明:ApplicationContextAwareこのオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)およびMessageSourceAwareの後に呼び出されます(該当する場合)。- 次で指定:
- インターフェース
ApplicationContextAwareのsetApplicationContext - パラメーター:
applicationContext- このオブジェクトによって使用される ApplicationContext オブジェクト- 関連事項:
afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet
postProcessConfiguration
指定された Bean 検証構成を後処理し、その設定を追加または上書きします。ValidatorFactoryEE をビルドする直前に呼び出されます。- パラメーター:
configuration- LocalValidatorFactoryBean のプロパティによって駆動される設定が事前に入力された構成オブジェクト
getValidator
- 次で指定:
- インターフェース
ValidatorFactoryEEのgetValidatorEE
usingContext
- 次で指定:
- インターフェース
ValidatorFactoryEEのusingContextEE
getMessageInterpolator
- 次で指定:
- インターフェース
ValidatorFactoryEEのgetMessageInterpolatorEE
getTraversableResolver
- 次で指定:
- インターフェース
ValidatorFactoryEEのgetTraversableResolverEE
getConstraintValidatorFactory
- 次で指定:
- インターフェース
ValidatorFactoryEEのgetConstraintValidatorFactoryEE
getParameterNameProvider
- 次で指定:
- インターフェース
ValidatorFactoryEEのgetParameterNameProviderEE
getClockProvider
- 次で指定:
- インターフェース
ValidatorFactoryEEのgetClockProviderEE
unwrap
- 次で指定:
- インターフェース
ValidatorEEのunwrapEE - 次で指定:
- インターフェース
ValidatorFactoryEEのunwrapEE - オーバーライド:
- クラス
SpringValidatorAdapterのunwrap
close
public void close()- 次で指定:
- インターフェース
AutoCloseableSEのclose - 次で指定:
- インターフェース
ValidatorFactoryEEのcloseEE
destroy
public void destroy()インターフェースからコピーされた説明:DisposableBeanBean の破棄時に、包含BeanFactoryによって呼び出されます。- 次で指定:
- インターフェース
DisposableBeanのdestroy