当validatedBy为空时,Hibernate Validator会根据约束注解的类型和约束注解的属性来查找对应的ConstraintValidator。
具体查找过程如下:
- 首先,Hibernate Validator会检查约束注解上是否有指定的validatedBy属性。如果有,则直接使用validatedBy属性指定的ConstraintValidator类进行验证。
- 如果validatedBy属性为空,则Hibernate Validator会根据约束注解的类型来查找对应的ConstraintValidator。
- 如果约束注解是一个复合注解(即注解上有@Constraint注解),则会递归查找复合注解中的约束注解,直到找到一个非复合注解为止。
- 如果约束注解是一个非复合注解,则会查找与该注解同名的ConstraintValidator类。查找规则如下:
- 首先,Hibernate Validator会在同一个包下查找与约束注解同名的ConstraintValidator类。
- 如果在同一个包下找不到,则会在约束注解所在包的子包中查找与约束注解同名的ConstraintValidator类。
- 如果还是找不到,则会在约束注解所在包的父包中查找与约束注解同名的ConstraintValidator类。
- 如果最终还是找不到,则会抛出异常。
总结:
当validatedBy属性为空时,Hibernate Validator会根据约束注解的类型和约束注解的属性来查找对应的ConstraintValidator类进行验证。
腾讯云相关产品和产品介绍链接地址:
腾讯云提供了云计算相关的产品和服务,包括云服务器、云数据库、云存储等。具体可以参考腾讯云官方网站的相关文档和产品介绍页面: