クラス LocalValidatorFactoryBean

java.lang.ObjectSE
org.springframework.validation.beanvalidation.SpringValidatorAdapter
org.springframework.validation.beanvalidation.LocalValidatorFactoryBean
実装されているすべてのインターフェース:
jakarta.validation.Validator, jakarta.validation.ValidatorFactory, AutoCloseableSE, Aware, DisposableBean, InitializingBean, ApplicationContextAware, SmartValidator, Validator
既知の直属サブクラス
OptionalValidatorFactoryBean

public class LocalValidatorFactoryBean extends SpringValidatorAdapter implements jakarta.validation.ValidatorFactory, ApplicationContextAware, InitializingBean, DisposableBean
これは、Spring アプリケーションコンテキストでの jakarta.validation (JSR-303) セットアップの中心となるクラスです。jakarta.validation.ValidationFactory をブートストラップし、Spring Validator インターフェースだけでなく、JSR-303 Validator インターフェースと ValidatorFactory インターフェース自体を通じても公開します。

Spring または JSR-303 Validator インターフェースを介してこの Bean のインスタンスと通信するときは、基礎となる ValidatorFactory のデフォルトの Validator と通信します。デフォルトのバリデーターをほとんど常に使用すると仮定すると、ファクトリでさらに別の呼び出しを実行する必要がないという点で、これは非常に便利です。これは、型 Validator のターゲット依存関係に直接挿入することもできます。

このクラスは、jakarta.validation API は存在するが明示的な Validator が構成されていない場合に、Spring の MVC 構成名前空間でも使用されます。

導入:
3.0
作成者:
Juergen Hoeller, Sebastien Deleuze
関連事項:
  • ValidatorFactory
  • Validator
  • Validation.buildDefaultValidatorFactory()
  • ValidatorFactory.getValidator()
  • コンストラクターの詳細

    • LocalValidatorFactoryBean

      public LocalValidatorFactoryBean()
  • メソッドの詳細

    • setProviderClass

      public void setProviderClass(ClassSE providerClass)
      必要に応じて、必要なプロバイダークラスを指定します。

      指定しない場合、JSR-303 のデフォルトの検索メカニズムが使用されます。

      関連事項:
      • Validation.byProvider(Class)
      • Validation.byDefaultProvider()
    • setValidationProviderResolver

      public void setValidationProviderResolver(jakarta.validation.ValidationProviderResolver validationProviderResolver)
      META-INF 駆動型解決の代替として、選択したプロバイダーをブートストラップするための JSR-303 ValidationProviderResolver を指定します。
      導入:
      4.3
    • setMessageInterpolator

      public void setMessageInterpolator(jakarta.validation.MessageInterpolator messageInterpolator)
      この ValidatorFactory とその公開されたデフォルトバリデーターに使用するカスタム MessageInterpolator を指定します。
    • setValidationMessageSource

      public void setValidationMessageSource(MessageSource messageSource)
      クラスパス内の 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

      public void setTraversableResolver(jakarta.validation.TraversableResolver traversableResolver)
      この ValidatorFactory とその公開されたデフォルトバリデーターに使用するカスタム TraversableResolver を指定します。
    • setConstraintValidatorFactory

      public void setConstraintValidatorFactory(jakarta.validation.ConstraintValidatorFactory constraintValidatorFactory)
      この ValidatorFactory に使用するカスタム ConstraintValidatorFactory を指定します。

      デフォルトは SpringConstraintValidatorFactory であり、オートワイヤーされた ConstraintValidator インスタンスを作成するために、それを含む ApplicationContext に委譲します。

    • setParameterNameDiscoverer

      public void setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer)
      メッセージの補間に必要な場合は、メソッドとコンストラクターのパラメーター名の解決に使用する ParameterNameDiscoverer を設定します。

      デフォルトは Hibernate バリデーター独自の標準 Java リフレクションの内部使用です。これは、必要に応じて、カスタムサブクラスまたは Spring 制御の DefaultParameterNameDiscoverer でオーバーライドできます。

    • setMappingLocations

      public void setMappingLocations(Resource... mappingLocations)
      XML 制約マッピングファイルをロードするリソースの場所を指定します(ある場合)。
    • setValidationProperties

      public void setValidationProperties(PropertiesSE jpaProperties)
      検証プロバイダーに渡される Bean 検証プロパティを指定します。

      文字列 "value" (PropertiesEditor で解析)または XML Bean 定義の "props" 要素を入力できます。

      関連事項:
      • Configuration.addProperty(String, String)
    • setValidationPropertyMap

      public void setValidationPropertyMap(@Nullable MapSE<StringSE,StringSE> validationProperties)
      検証プロバイダーにマップとして渡される Bean 検証プロパティを指定します。

      XML Bean 定義の「マップ」または "props" 要素を取り込むことができます。

      関連事項:
      • Configuration.addProperty(String, String)
    • getValidationPropertyMap

      public MapSE<StringSE,StringSE> getValidationPropertyMap()
      特定のエントリを追加またはオーバーライドするオプションを使用して、マップが Bean 検証プロパティへのアクセスを検証プロバイダーに渡すことを許可します。

      たとえば "validationPropertyMap [myKey]" を介してエントリを直接指定するのに便利です。

    • setConfigurationInitializer

      public void setConfigurationInitializer(ConsumerSE<jakarta.validation.Configuration<?>> configurationInitializer)
      カスタム LocalValidatorFactoryBean サブクラスで postProcessConfiguration(Configuration) メソッドをオーバーライドする代わりに、Bean 検証 Configuration インスタンスをカスタマイズするためのコールバックを指定します。

      これにより、アプリケーションの目的で便利なカスタマイズが可能になります。インフラストラクチャ拡張機能は、postProcessConfiguration(Configuration) テンプレートメソッドをオーバーライドし続ける可能性があります。

      導入:
      5.3.19
    • setApplicationContext

      public void setApplicationContext(ApplicationContext applicationContext)
      インターフェースからコピーされた説明: ApplicationContextAware
      このオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。

      通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet() またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(ResourceLoader)ApplicationEventPublisherAware.setApplicationEventPublisher(ApplicationEventPublisher) および MessageSourceAware の後に呼び出されます(該当する場合)。

      次で指定:
      インターフェース ApplicationContextAwaresetApplicationContext 
      パラメーター:
      applicationContext - このオブジェクトによって使用される ApplicationContext オブジェクト
      関連事項:
    • afterPropertiesSet

      public void afterPropertiesSet()
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • postProcessConfiguration

      protected void postProcessConfiguration(jakarta.validation.Configuration<?> configuration)
      指定された Bean 検証構成を後処理し、その設定を追加または上書きします。

      ValidatorFactory をビルドする直前に呼び出されます。

      パラメーター:
      configuration - LocalValidatorFactoryBean のプロパティによって駆動される設定が事前に入力された構成オブジェクト
    • getValidator

      public jakarta.validation.Validator getValidator()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactorygetValidator 
    • usingContext

      public jakarta.validation.ValidatorContext usingContext()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactoryusingContext 
    • getMessageInterpolator

      public jakarta.validation.MessageInterpolator getMessageInterpolator()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactorygetMessageInterpolator 
    • getTraversableResolver

      public jakarta.validation.TraversableResolver getTraversableResolver()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactorygetTraversableResolver 
    • getConstraintValidatorFactory

      public jakarta.validation.ConstraintValidatorFactory getConstraintValidatorFactory()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactorygetConstraintValidatorFactory 
    • getParameterNameProvider

      public jakarta.validation.ParameterNameProvider getParameterNameProvider()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactorygetParameterNameProvider 
    • getClockProvider

      public jakarta.validation.ClockProvider getClockProvider()
      次で指定:
      インターフェース jakarta.validation.ValidatorFactorygetClockProvider 
    • unwrap

      public <T> T unwrap(@Nullable ClassSE<T> type)
      インターフェースからコピーされた説明: SmartValidator
      必要な限りラップを解除して、指定された型の含まれているバリデータインスタンスを返します。
      次で指定:
      インターフェース SmartValidatorunwrap 
      次で指定:
      インターフェース jakarta.validation.Validatorunwrap 
      次で指定:
      インターフェース jakarta.validation.ValidatorFactoryunwrap 
      オーバーライド:
      クラス SpringValidatorAdapterunwrap 
      型パラメーター:
      T - 返されるオブジェクトの型
      パラメーター:
      type - 返すオブジェクトのクラス
      戻り値:
      指定された型のバリデーターインスタンス。ネストされたバリデータがない場合は null。指定されたバリデーターの型が一致しない場合、例外が発生する可能性があります。
    • close

      public void close()
      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース jakarta.validation.ValidatorFactoryclose 
    • destroy

      public void destroy()
      インターフェースからコピーされた説明: DisposableBean
      Bean の破棄時に、包含 BeanFactory によって呼び出されます。
      次で指定:
      インターフェース DisposableBeandestroy