10

我下载了 spring 3 并将其放在我的类路径中,但我无法导入 @Valid 注释。但是,我可以导入其他 spring 3 注释(例如 @Controller)。@Valid 在什么 Jar 和什么包中?

编辑:这是一个 JSR-303 注释。这是什么意思,我如何得到它?

4

4 回答 4

15

缺少 javax.validation。

你会在这里找到一个罐子。如果您使用 Maven,这是依赖项:

<dependency>
  <groupId>javax.validation</groupId>
  <artifactId>validation-api</artifactId>
  <version>1.0.0.GA</version>
</dependency>

为了使验证真正起作用,您还需要一个实现,例如Hibernate Validator。Maven依赖:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>4.0.2.GA</version>
  <scope>runtime</scope>
</dependency>

JSR 参考意味着这是由Java Community Process开发的标准,特别是JSR 编号 303

于 2011-02-25T22:38:26.447 回答
9

只是为了完整起见,现在它也可以使用该规范的下一个版本,即 JSR 349,可以通过以下方式获得:

<dependency>
  <groupId>javax.validation</groupId>
  <artifactId>validation-api</artifactId>
  <version>1.1.0.Final</version>
</dependency>

Hibernate Validator 5.x是 JSR 349 - Bean Validation 1.1 的参考实现,Red Hat 是其中的规范领导者。

于 2013-07-31T11:42:21.657 回答
2

您应该能够从hibernate-validator获得它。

于 2011-02-25T22:36:06.770 回答
2

它不是 spring 注释,它来自javax.validation.Validjavaee,因此是 JSR 参考。

于 2011-02-25T22:37:29.580 回答