Package org.springframework.validation.beanvalidation

# Class BeanValidationPostProcessor

java.lang.Object
org.springframework.validation.beanvalidation.BeanValidationPostProcessor

All Implemented Interfaces:
  `org.springframework.beans.factory.config.BeanPostProcessor`, `org.springframework.beans.factory.InitializingBean`

public class BeanValidationPostProcessor extends Object implements org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.InitializingBean
Simple `BeanPostProcessor` that checks JSR-303 constraint annotations in Spring-managed beans, throwing an initialization exception in case of constraint violations right before calling the bean's init method (if any).

Since:
  3.0
Author:
  Juergen Hoeller

## Constructor Summary

Constructors
Constructor
Description
`BeanValidationPostProcessor()`

## Method Summary

Modifier and Type
Method
Description
`void`
`afterPropertiesSet()`
`protected void`
`doValidate(Object bean)`
Perform validation of the given bean.
`Object`
`postProcessAfterInitialization(Object bean, String beanName)`
`Object`
`postProcessBeforeInitialization(Object bean, String beanName)`
`void`
`setAfterInitialization(boolean afterInitialization)`
Choose whether to perform validation after bean initialization (i.e.
`void`
`setValidator(Validator validator)`
Set the JSR-303 Validator to delegate to for validating beans.
`void`
`setValidatorFactory(ValidatorFactory validatorFactory)`
Set the JSR-303 ValidatorFactory to delegate to for validating beans, using its default Validator.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BeanValidationPostProcessor

public BeanValidationPostProcessor()

## Method Details

### setValidator

public void setValidator(Validator validator)
Set the JSR-303 Validator to delegate to for validating beans.

Default is the default ValidatorFactory's default Validator.

### setValidatorFactory

public void setValidatorFactory(ValidatorFactory validatorFactory)
Set the JSR-303 ValidatorFactory to delegate to for validating beans, using its default Validator.

Default is the default ValidatorFactory's default Validator.

See Also:
  - `ValidatorFactory.getValidator()`

### setAfterInitialization

public void setAfterInitialization(boolean afterInitialization)
Choose whether to perform validation after bean initialization (i.e. after init methods) instead of before (which is the default).

Default is "false" (before initialization). Switch this to "true" (after initialization) if you would like to give init methods a chance to populate constrained fields before they get validated.

### afterPropertiesSet

public void afterPropertiesSet()

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`

### postProcessBeforeInitialization

public Object postProcessBeforeInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException

Specified by:
  `postProcessBeforeInitialization` in interface `org.springframework.beans.factory.config.BeanPostProcessor`
Throws:
  `org.springframework.beans.BeansException`

### postProcessAfterInitialization

public Object postProcessAfterInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException

Specified by:
  `postProcessAfterInitialization` in interface `org.springframework.beans.factory.config.BeanPostProcessor`
Throws:
  `org.springframework.beans.BeansException`

### doValidate

protected void doValidate(Object bean)
Perform validation of the given bean.

Parameters:
  `bean` - the bean instance to validate
See Also:
  - `Validator.validate(T, java.lang.Class<?>...)`