Java Bean Validation规范定义了几个常用的注解,用于对Java Bean中的属性进行参数校验。以下是一些常见的注解及其用法:
@NotNull
:用于检查属性值不能为null。
@NotNull
private String name;
@NotEmpty
:用于检查字符串属性不能为空,即长度大于0,对于集合类型,不为空集合。
@NotEmpty
private List<String> emails;
@NotBlank
:用于检查字符串属性不能为空白,即不能为空,且去除首尾的空格后长度大于0。
注:只能配置到String,配置到基础类型上会导致当前类其他校验也失效”
@NotBlank
private String username;
@Min
和@Max
:用于检查数字属性的最小值和最大值。
@Min(18)
@Max(100)
private int age;
@Size
:用于检查集合或数组属性的大小,可以指定最小值和最大值。
@Size(min = 1, max = 5)
private List<String> hobbies;
@Pattern
:用于检查字符串属性是否匹配指定的正则表达式。
@Pattern(regexp = "[a-zA-Z0-9]+")
private String password;
这些注解可以与其他约束注解组合使用,以满足更复杂的校验需求。Java Bean Validation还提供了自定义注解和编写自定义校验器的能力,以满足特定应用程序的需求。
在使用参数校验时,可以通过在需要校验的属性前添加相应的注解,然后使用验证器来对Java Bean进行校验。验证器可以在运行时使用,例如在JAX-RS端点方法或Spring MVC控制器方法中使用注解来触发校验。如果校验失败,将会收集校验错误信息并返回给调用方或进行其他处理。