hibernate validator 校验器
需积分: 0 88 浏览量
更新于2018-09-28
收藏 5.5MB PDF 举报
Hibernate Validator是Java社区规范JSR 380的参考实现,它是一个强大的校验器,用于校验Java Bean中的数据。它不仅支持JSR 303 Bean Validation规范定义的基本注解,还包括了一些额外的自定义约束注解。Hibernate Validator可以与Java EE和Java SE环境紧密集成,为Web开发提供权威的校验解决方案。以下是根据给定文件内容整理的相关知识点。
1. Hibernate Validator的项目设置
- UnifiedEL:统一表达式语言,Hibernate Validator支持在表达式中使用校验注解。
- CDI:上下文依赖注入,Hibernate Validator可以与CDI无缝集成,便于在应用中管理校验器的生命周期。
- 安全管理器:可以在有安全管理器的环境下运行Hibernate Validator。
- WildFly:在WildFly应用服务器上更新Hibernate Validator的特定指南。
- Java 9:Hibernate Validator在Java 9环境下的运行指南。
2. 应用和验证约束
- 约束的声明可以定义在字段级别、属性级别、容器元素级别以及类级别。
- 约束的继承允许子类继承父类的约束。
- 对象图的校验用于声明需要校验对象图中的哪些部分。
3. 声明并验证Bean约束
- 如何声明Bean约束,包括各个级别的约束声明。
- 如何获取校验器实例以及验证方法。
- ConstraintViolation对象用于存储和管理约束违规信息。
4. 内置约束
- Bean Validation约束,如@NotNull、@Size、@Past等。
- Hibernate Validator提供的额外约束,如@Email等。
5. 声明并验证方法约束
- 如何声明方法参数约束和返回值约束。
- 验证方法约束,包括获取ExecutableValidator实例、验证方法和方法验证的ConstraintViolation方法。
- 内置方法约束,如用于声明方法级别约束的注解。
6. 插值约束错误消息
- 默认消息插值,包括特殊字符处理和使用消息表达式。
- 自定义消息插值,用于自定义消息格式化器。
7. 约束分组
- 请求分组,允许在不同的业务场景下应用不同的约束集。
- 分组继承,子分组自动继承父分组的约束。
- 定义组序列,指定校验时约束的验证顺序。
- 重新定义默认组序列,使用@GroupSequence和@GroupSequenceProvider来控制。
8. 创建自定义约束
- 如何创建一个简单的自定义约束,包括定义注解、实现校验逻辑、定义错误消息和使用该约束。
- 类级别的自定义约束,包括使用自定义属性路径。
- 跨参数约束,允许在方法的多个参数上应用约束。
- 约束组合,将多个约束组合成一个组合约束。
Hibernate Validator不仅提供了一种编程方式来声明约束,同时也支持XML配置方式,使得在某些场景下可以灵活配置约束。通过阅读Hibernate Validator的官方文档,开发者可以深入理解并运用这些知识点,来提升其Web应用的数据校验能力。