Validation非Controller层验证

直接上代码

public class ValidationUtils {

private static final Validator validator;

static {
validator = Validation.buildDefaultValidatorFactory().getValidator();
}

/**
* 校验对象
*
* @param object 待校验对象
* @param groups 待校验的组
* @throws IllegalArgumentException 校验不通过,则报业务异常
*/
public static void validateEntity(Object object, Class<?>... groups) throws IllegalArgumentException {
Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
if (!constraintViolations.isEmpty()) {
String msg = constraintViolations.stream().map(ConstraintViolation::getMessage).collect(Collectors.joining("、"));
throw new IllegalArgumentException(msg);
}
}
}

该方法是非线程安全的多线程下慎用