org.hibernate hibernate-validator 4.2.0.Final
import org.hibernate.validator.HibernateValidator;import javax.validation.ConstraintViolation;import javax.validation.Validation;import javax.validation.Validator;import java.util.ArrayList;import java.util.List;import java.util.Set;/** * 注解验证参数. * * @author xiongjinteng@gmail.com */public class BeanValidatorsUtil { /** * 使用hibernate的注解来进行验证 */ private static final Validator validator = Validation.byProvider(HibernateValidator.class).configure() .failFast(true).buildValidatorFactory().getValidator(); public staticvoid validateWithException(T obj) throws Exception { Set > constraintViolations = validator.validate(obj); // 抛出检验异常 if (constraintViolations.size() > 0) { throw new Exception(String.format("参数校验失败:%s", constraintViolations.iterator().next().getMessage())); } } public static String[] validate(T obj) { Set > constraintViolations = validator.validate(obj); if (constraintViolations.size() > 0) { List errors = new ArrayList<>(); for (ConstraintViolation constraintViolation : constraintViolations) { errors.add(constraintViolation.getMessage()); } return errors.toArray(new String[]{}); } return new String[]{}; }}