1、javax定义注解验证规范目前实现这些java Bean属性验证的框架有Hibernate,spring modules。
(一)hibernate的官方地址是:http://hibernate.org/validator/contribute/
目前详细的开发可以参考https://www.cnblogs.com/beiyan/p/5946345.html这个篇博客。还可以自定义注解验证
/**
* 使用javax validator framework做参数校验.
* @param request
* @param <T>
*/
private <T> void validate(T request) {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
try {
if (!CollectionUtils.isEmpty(validator.validate(request))) {
throw new Exception(ErrorCodeEnum.ILLEGAL_PARAM);
}
} catch (Exception e) {
throw new Exception(ErrorCodeEnum.ILLEGAL_PARAM);
}
}
(二)可以使用spring modules的验证框架进行验证
开发可以参考博客:
https://blog.csdn.net/h396071018/article/details/6658962
https://stackoverflow.com/questions/149506/annotation-based-spring-bean-validation
http://springinpractice.com/2008/07/17/annotation-based-validation-with-the-spring-bean-validation-framework
其中主要使用spring 的类。除了Spring MVC使用参数校验,我们还可以在自己的业务引擎中,使用属性校验,统一管理
<bean id="beanValidator" class="org.springmodules.validation.bean.BeanValidator" p:configurationLoader-ref="configurationLoader" /> <bean id="configurationLoader" class="org.springmodules.validation.bean.conf.loader.annotation.AnnotationBeanValidationConfigurationLoader" />