应用场景:假如我们新增用户信息,用户的用户名和密码不能为空,我不想写if/else进行判断,这个时候就可以用javax的validation来做。
javax的校验机制是基于标准JSR-303规范()。
hibernate是扩展了javax的接口
但是java只提供了接口,需要我们自己来写校验规则。
好在hibernate为我们提供了一些校验规则。我们可以直接拿来用。
Validator
@Valid
@Validated
但是我还发现 Spring除了提供@Valid之外,还会提供@Validated注解.这2个注解大多数功能都是重复的但是还是有略微的区别.
这里先说下不同点:
- 分组
- 注解地方,@Valid可以注解在成员属性(字段)上,但是@Validated不行
- 由于第2点的不同,将导致@Validated不能做嵌套校验