【问题标题】:Is there an implementation of JSR-303 (bean validation) available?是否有可用的 JSR-303(bean 验证)实现?
【发布时间】:2010-11-25 23:29:05
【问题描述】:

我知道有非标准框架,例如 commons-validator 和 hibernate 验证器。

我想知道是否有人知道官方标准的实现。

【问题讨论】:

    标签: java validation bean-validation


    【解决方案1】:

    Hibernate Validator 是 JSR-303 的 reference implementation

    【讨论】:

      【解决方案2】:

      至于 2018 年夏季,三个规格相互取代:

      • JSR 380(Bean 验证 2.0)
      • JSR 349(Bean 验证 1.1)
      • JSR 303(Bean 验证 1.0)

      您可以咨询official site了解更多详情。

      Hibernate Validator 6.10 是最新版本 (380) 的参考实现。它有一个很棒的documentation,我建议你看看(但它是相当大的东西)。

      CUBA platform docs 如果您只需要快速介绍,则可以让您更短地掌握该主题。 CUBA 框架基于 Spring 和 EclipseLink,所以你学到的东西也可以用于常规 Spring+Hibernate 项目:)

      旧版本的 Hibernate Validator 和 Apache BVal 都支持 JSR 349,它们都是“官方的”。

      从除 Hibernate 之外的 ORM 中,EclipseLink 支持 JSR 349 并且可以使用 HV 提供的 Validator 接口。

      如果可能,我建议不要使用旧版本 (JSR 303),而是切换到 349 或 380 规范。他们更加成熟和富有。

      即使没有 ORM,也可以在项目中使用 Bean Validation,例如,您可以在 Java 2SE 或 Android 应用程序中使用它(参见 article),但是,这不是 Bean Validation 的设计方法作为首要的事情。尽管可以单独使用这些验证器(HV 和 BVal)(您必须实例化并手动调用 ValidatorExecutableValidator),但它们与 Hibernate、Spring 或 CUBA 等框架一起工作时会非常出色

      【讨论】:

        【解决方案3】:

        我认为 Spring Framework 从版本 3 开始就符合 JSR303。

        http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#validation-beanvalidation

        Spring Framework 4.0 在设置支持方面支持 Bean Validation 1.0 (JSR-303) 和 Bean Validation 1.1 (JSR-349),还对其进行了适配 Spring 的 Validator 接口。

        【讨论】:

          【解决方案4】:

          现在有 2 个兼容的实现:

          您可以在此处访问基准测试和两者的简要说明:http://carinae.net/2010/06/benchmarking-hibernate-validator-and-apache-beanvalidation-the-two-jsr-303-implementations/

          【讨论】:

          • Apache Bean Validation (BVAL) 似乎是最好的独立实现
          【解决方案5】:

          OVaL 不是 JSR-303 验证器,但它可以将 jsr303 约束转换为自己的。

          【讨论】:

            【解决方案6】:

            【讨论】:

              猜你喜欢
              • 2015-01-10
              • 1970-01-01
              • 2013-11-23
              • 2011-07-24
              • 2012-05-12
              • 1970-01-01
              • 2011-01-31
              • 2014-03-24
              • 2016-06-21
              相关资源
              最近更新 更多