SpringBoot2.x系列教程(六十)Java Bean Validation详解及国际化集成

针对web项目,对外接口的参数校验是必不可少的。如果接口参数比较少,还可以通过ifelse进行逐个校验,但如果参数比较多,这种方式来进行编写代码会变得非常冗余。

作为程序员,抽象和统一处理的能力是也是编程能力的重要指标。本篇文章就带大家基于Java Bean Validation来完成web项目参数校验的统一处理。

Bean Validation

JSR303规范是Java EE 6中的一项子规范:Bean Validation,官方参考实现是Hibernate Validator,JSR303 用于对Java Bean中的字段的值进行验证。本文也是基于Hibernate的实现来完成参数的校验。

Bean Validation为JavaBean验证定义了相应的元数据模型和API。缺省的元数据是Java Annotations,通过使用XML可以对原有的元数据信息进行覆盖和扩展。

在应用程序中,通过使用Bean Validation或是自定义的 约束(constraint),例如@NotNull,@Max,@ZipCode等来确保数据模型(JavaBean)的正确性。

constraint可以附加到字段、getter方法、类或者接口上面。对于一些特定的需求,用户可以很容易的开发定制化的 constraint。Bean Validation是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。

Hibernate Validator提供了JSR303规范中所有内置constraint 的实现,除此之外还有一些附加的constraint。常见的注解比如有@Null、@NotNull、@Min(value)、@Max(value)、@Size(max, min)等,我们这里不一一举例,关于注解的详细使用规则可参考官方文档。

基于Hibernate Validator的校验

首先在依赖文件中引入validation-api和具体实现hibernate-validator。如果是Spring Boot

你可能感兴趣的:(Springboot,springboot,Hibernate,validation,国际化,i18n)