update 优化校验框架配置类加载顺序,确保优先于默认的验证配置

This commit is contained in:
AprilWind 2025-02-28 16:06:16 +08:00
parent 2623d0b343
commit df65670d3d

View File

@ -3,6 +3,7 @@ package org.dromara.common.core.config;
import jakarta.validation.Validator; import jakarta.validation.Validator;
import org.hibernate.validator.HibernateValidator; import org.hibernate.validator.HibernateValidator;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
import org.springframework.context.MessageSource; import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
@ -14,11 +15,11 @@ import java.util.Properties;
* *
* @author Lion Li * @author Lion Li
*/ */
@AutoConfiguration @AutoConfiguration(before = ValidationAutoConfiguration.class)
public class ValidatorConfig { public class ValidatorConfig {
/** /**
* 配置校验框架 快速返回模式 * 配置校验框架 快速失败模式
*/ */
@Bean @Bean
public Validator validator(MessageSource messageSource) { public Validator validator(MessageSource messageSource) {
@ -28,7 +29,7 @@ public class ValidatorConfig {
// 设置使用 HibernateValidator 校验器 // 设置使用 HibernateValidator 校验器
factoryBean.setProviderClass(HibernateValidator.class); factoryBean.setProviderClass(HibernateValidator.class);
Properties properties = new Properties(); Properties properties = new Properties();
// 设置 快速异常返回 // 设置快速失败模式fail-fast即校验过程中一旦遇到失败立即停止并返回错误
properties.setProperty("hibernate.validator.fail_fast", "true"); properties.setProperty("hibernate.validator.fail_fast", "true");
factoryBean.setValidationProperties(properties); factoryBean.setValidationProperties(properties);
// 加载配置 // 加载配置