Class LocalValidatorFactoryBean
- All Implemented Interfaces:
- Validator,- ValidatorFactory,- AutoCloseable,- Aware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- SmartValidator,- Validator
- Direct Known Subclasses:
- OptionalValidatorFactoryBean
jakarta.validation (JSR-303) setup in a Spring
 application context: It bootstraps a jakarta.validation.ValidationFactory and
 exposes it through the Spring Validator interface
 as well as through the JSR-303 Validator interface and the
 ValidatorFactory interface itself.
 When talking to an instance of this bean through the Spring or JSR-303 Validator interfaces,
 you'll be talking to the default Validator of the underlying ValidatorFactory. This is very
 convenient in that you don't have to perform yet another call on the factory, assuming that
 you will almost always use the default Validator anyway. This can also be injected directly
 into any target dependency of type Validator!
 
This class is also being used by Spring's MVC configuration namespace, in case of the
 jakarta.validation API being present but no explicit Validator having been configured.
- Since:
- 3.0
- Author:
- Juergen Hoeller, Sebastien Deleuze
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.voidclose()voiddestroy()Invoked by the containingBeanFactoryon destruction of a bean.Allow Map access to the bean validation properties to be passed to the validation provider, with the option to add or override specific entries.protected voidpostProcessConfiguration(Configuration<?> configuration) Post-process the given Bean Validation configuration, adding to or overriding any of its settings.voidsetApplicationContext(ApplicationContext applicationContext) Set the ApplicationContext that this object runs in.voidsetConfigurationInitializer(Consumer<Configuration<?>> configurationInitializer) Specify a callback for customizing the Bean ValidationConfigurationinstance, as an alternative to overriding thepostProcessConfiguration(Configuration)method in customLocalValidatorFactoryBeansubclasses.voidsetConstraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory) Specify a custom ConstraintValidatorFactory to use for this ValidatorFactory.voidsetMappingLocations(Resource... mappingLocations) Specify resource locations to load XML constraint mapping files from, if any.voidsetMessageInterpolator(MessageInterpolator messageInterpolator) Specify a custom MessageInterpolator to use for this ValidatorFactory and its exposed default Validator.voidsetParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer) Set the ParameterNameDiscoverer to use for resolving method and constructor parameter names if needed for message interpolation.voidsetProviderClass(Class providerClass) Specify the desired provider class, if any.voidsetTraversableResolver(TraversableResolver traversableResolver) Specify a custom TraversableResolver to use for this ValidatorFactory and its exposed default Validator.voidsetValidationMessageSource(MessageSource messageSource) Specify a custom Spring MessageSource for resolving validation messages, instead of relying on JSR-303's default "ValidationMessages.properties" bundle in the classpath.voidsetValidationProperties(Properties jpaProperties) Specify bean validation properties to be passed to the validation provider.voidsetValidationPropertyMap(Map<String, String> validationProperties) Specify bean validation properties to be passed to the validation provider as a Map.voidsetValidationProviderResolver(ValidationProviderResolver validationProviderResolver) Specify a JSR-303ValidationProviderResolverfor bootstrapping the provider of choice, as an alternative toMETA-INFdriven resolution.<T> TMethods inherited from class org.springframework.validation.beanvalidation.SpringValidatorAdapterdetermineErrorCode, determineField, forExecutables, getArgumentsForConstraint, getConstraintsForClass, getRejectedValue, getResolvableField, processConstraintViolations, requiresMessageFormat, supports, validate, validate, validate, validateProperty, validateValue, validateValue
- 
Constructor Details- 
LocalValidatorFactoryBeanpublic LocalValidatorFactoryBean()
 
- 
- 
Method Details- 
setProviderClassSpecify the desired provider class, if any.If not specified, JSR-303's default search mechanism will be used. 
- 
setValidationProviderResolverSpecify a JSR-303ValidationProviderResolverfor bootstrapping the provider of choice, as an alternative toMETA-INFdriven resolution.- Since:
- 4.3
 
- 
setMessageInterpolatorSpecify a custom MessageInterpolator to use for this ValidatorFactory and its exposed default Validator.
- 
setValidationMessageSourceSpecify a custom Spring MessageSource for resolving validation messages, instead of relying on JSR-303's default "ValidationMessages.properties" bundle in the classpath. This may refer to a Spring context's shared "messageSource" bean, or to some special MessageSource setup for validation purposes only.NOTE: This feature requires Hibernate Validator 4.3 or higher on the classpath. You may nevertheless use a different validation provider but Hibernate Validator's ResourceBundleMessageInterpolatorclass must be accessible during configuration.Specify either this property or "messageInterpolator", not both. If you would like to build a custom MessageInterpolator, consider deriving from Hibernate Validator'sResourceBundleMessageInterpolatorand passing in a Spring-basedResourceBundleLocatorwhen constructing your interpolator.In order for Hibernate's default validation messages to be resolved still, your MessageSourcemust be configured for optional resolution (usually the default). In particular, theMessageSourceinstance specified here should not apply"useCodeAsDefaultMessage"behavior. Please double-check your setup accordingly.- See Also:
- 
- ResourceBundleMessageInterpolator
 
 
- 
setTraversableResolverSpecify a custom TraversableResolver to use for this ValidatorFactory and its exposed default Validator.
- 
setConstraintValidatorFactorySpecify a custom ConstraintValidatorFactory to use for this ValidatorFactory.Default is a SpringConstraintValidatorFactory, delegating to the containing ApplicationContext for creating autowired ConstraintValidator instances.
- 
setParameterNameDiscovererSet the ParameterNameDiscoverer to use for resolving method and constructor parameter names if needed for message interpolation.Default is Hibernate Validator's own internal use of standard Java reflection. This may be overridden with a custom subclass or a Spring-controlled DefaultParameterNameDiscovererif necessary.
- 
setMappingLocationsSpecify resource locations to load XML constraint mapping files from, if any.
- 
setValidationPropertiesSpecify bean validation properties to be passed to the validation provider.Can be populated with a String "value" (parsed via PropertiesEditor) or a "props" element in XML bean definitions. 
- 
setValidationPropertyMapSpecify bean validation properties to be passed to the validation provider as a Map.Can be populated with a "map" or "props" element in XML bean definitions. 
- 
getValidationPropertyMapAllow Map access to the bean validation properties to be passed to the validation provider, with the option to add or override specific entries.Useful for specifying entries directly, for example via "validationPropertyMap[myKey]". 
- 
setConfigurationInitializerSpecify a callback for customizing the Bean ValidationConfigurationinstance, as an alternative to overriding thepostProcessConfiguration(Configuration)method in customLocalValidatorFactoryBeansubclasses.This enables convenient customizations for application purposes. Infrastructure extensions may keep overriding the postProcessConfiguration(jakarta.validation.Configuration<?>)template method.- Since:
- 5.3.19
 
- 
setApplicationContextDescription copied from interface:ApplicationContextAwareSet the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.Invoked after population of normal bean properties but before an init callback such as InitializingBean.afterPropertiesSet()or a custom init-method. Invoked afterResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader),ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)andMessageSourceAware, if applicable.- Specified by:
- setApplicationContextin interface- ApplicationContextAware
- Parameters:
- applicationContext- the ApplicationContext object to be used by this object
- See Also:
 
- 
afterPropertiesSetpublic void afterPropertiesSet()Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set. - Specified by:
- afterPropertiesSetin interface- InitializingBean
 
- 
postProcessConfigurationPost-process the given Bean Validation configuration, adding to or overriding any of its settings.Invoked right before building the ValidatorFactory.- Parameters:
- configuration- the Configuration object, pre-populated with settings driven by LocalValidatorFactoryBean's properties
 
- 
getValidator- Specified by:
- getValidatorin interface- ValidatorFactory
 
- 
usingContext- Specified by:
- usingContextin interface- ValidatorFactory
 
- 
getMessageInterpolator- Specified by:
- getMessageInterpolatorin interface- ValidatorFactory
 
- 
getTraversableResolver- Specified by:
- getTraversableResolverin interface- ValidatorFactory
 
- 
getConstraintValidatorFactory- Specified by:
- getConstraintValidatorFactoryin interface- ValidatorFactory
 
- 
getParameterNameProvider- Specified by:
- getParameterNameProviderin interface- ValidatorFactory
 
- 
getClockProvider- Specified by:
- getClockProviderin interface- ValidatorFactory
 
- 
unwrap- Specified by:
- unwrapin interface- Validator
- Specified by:
- unwrapin interface- ValidatorFactory
- Overrides:
- unwrapin class- SpringValidatorAdapter
 
- 
closepublic void close()- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- ValidatorFactory
 
- 
destroypublic void destroy()Description copied from interface:DisposableBeanInvoked by the containingBeanFactoryon destruction of a bean.- Specified by:
- destroyin interface- DisposableBean
 
 
-