本文档是Java EE和Java SE中用于JavaBean验证的Java API规范。这项工作的技术目标是为了Java应用程序的开发人员提供类级别的约束声明和验证工具,以及约束元数据存储和查询API
1.1、专家组
- 这项工作是Java Community Process 计划下JSR 303的一部分,该规范是JSR303专家组成员共同努力的结果,这些成员按字母顺序包括以下现任和前任专家组成员:
- Geert Bevin
- Emmanuel Bernard (Red Hat, Inc.) - Specification Lead(规范领导者)
- Uri Boness
- Erik Brakkee (Ericsson AB)
- Ed Burns (Sun Microsystems, Inc.)
- Jason Carreira
- Robert Clevenger (Oracle - retired)
- Linda DeMichiel (Sun Microsystems, Inc.)
- Tim Fennel
- Bharath Ganesh (Pramati Technologies)
- Romain Guy (Google Inc.)
- Robert Harrop
- Jacob J. Hookom
- Bob Lee (Google Inc.)
- Craig R. McClanahan (Sun Microsystems, Inc.)
- Niall K. Pemberton
- Steve Peterson
- Dhanji R. Prasanna (Google Inc., formerly individual)
- Gerhard Petracek
- Matt Raible
- Michael Nascimento Santos
- Sebastian Thomschke
- Jon Wetherbee (Oracle)
1.2、规范的目标
- 验证数据是整个应用程序中从表示层到持久层的一项常见的任务。通常,在每个层中都采用相同的验证逻辑,事实证明这个很耗时且容易出错,为了避免在每一层重复这些验证,开发人员通常将验证逻辑直接捆绑到域模型中,从而使域类与验证代码(实际上是有关类本身的元数据)杂乱无章。
- 该JSR定义了用于JavaBean验证的元数据模型和API。默认的元数据是注解,它具有通过使用XML验证描述符覆盖和扩展元数据的功能。
- 此JSR开发的验证API不适用于任何一层或编程模型。特别是,它既不与Web层也不与持久层绑定,并且可用于服务端应用程序编程以及富客户端Swing应用程序开发人员,该API被视为JavaBean对象模型的常规扩展,因此有望被用作其他规范的核心组件。易用性和灵活性影响了本规范的设计。
1.3、文档结构是如何组织
- 本文档在单独的章节中介绍了bean验证规范的各个方面,应该记住该规范是一个一致的整体。
- 第二章、描述如何定义约束
- 第三章、描述 如何用注解装饰JavaBean类以描述约束
- 第四章、描述 如何以编程方式验证JavaBean
- 第五章、描述 元数据查询API的工作方式
- 在附录A中,总结了关键概念,一些审稿者将会发现,首先阅读术语部分有助于更好地理解规范。
- 为了存档目的,附录D,附录E和附录F中提供了JPA,JSF和EE集成,请参阅各自的规范以获取最新的集成规则。
- 附录G是变更日志
1.4、如何评论
- 专家组渴望获得读者的反馈。请随时与我们联系或使用jsr-303-comments@jcp.org邮箱
Bean Validation(JSR 303) bean校验