All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.shoulder.validate.config.FastFailValidationAutoConfiguration Maven / Gradle / Ivy

package org.shoulder.validate.config;

import org.hibernate.validator.HibernateValidator;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;

import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;

/**
 * 快速失败异常校验配置
 *
 * @author lym
 */
@AutoConfigureBefore(ValidationAutoConfiguration.class)
public class FastFailValidationAutoConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public Validator validator() {
        ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
            .configure()
            //failFast的意思只要出现校验失败的情况,就立即结束校验,不再进行后续的校验。
            .failFast(true)
            .buildValidatorFactory();

        return validatorFactory.getValidator();
    }

    @Bean
    @ConditionalOnMissingBean
    public MethodValidationPostProcessor methodValidationPostProcessor(Validator validator) {
        MethodValidationPostProcessor methodValidationPostProcessor = new MethodValidationPostProcessor();
        methodValidationPostProcessor.setValidator(validator);
        return methodValidationPostProcessor;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy