Bean Validation(JSR 303)——Java
EE
6的一个核心特性,它为实体验证定义了一个元数据模型和API。其默认的元数据源是注解,但开发者可以通过XML描述符对其进行扩展。
Validation API并不依赖特定的应用层或是编程模型,这样同一套验证可由应用的所有层共享。它还提供了通过扩展Validation
API来增加客户化验证约束的机制以及查询约束元数据仓库的手段。
在JEE6的Bean
Validation出现之前,开发者不得不在表示层框架、业务层以及持久层中编写验证规则以保证这些规则的同步性,但这么做非常浪费时间而且极易出错。
Bean Validation是通过约束实现的,这些约束以注解的形式出现,注解可以放在JavaBean(如backing
bean)的属性、方法或是类上面。
约束既可以是内建的注解(位于javax.validation.constraints包下面),也可以由用户定义。一些常用的内建注解列举如下:
- Min:被@Min所注解的元素必须是个数字,其值要大于或等于给定的最小值。
- Max:被@Max所注解的元素必须是个数字,其值要小于或等于给定的最大值。
- Size:@Size表示被注解的元素必须位于给定的最小值和最大值之间。支持Size验证的数据类型有String、 Collection(计算集合的大小)、Map以及数组。
- NotNull:@NotNull确保被注解的元素不能为null。
- Null:@Null确保被注解的元素一定为null。
- Pattern:@Pattern确保被注解的元素(String)一定会匹配给定的Java 正 则表达式。
下面的示例代码中通过Bean Validation注解声明了一些约束:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)