在Spring中使用JSR-303注释需要做什么设置?

ste*_*bot 10 java spring bean-validation

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

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

Haa*_*kon 14

缺少javax.validation.

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

<dependency>
  <groupId>javax.validation</groupId>
  <artifactId>validation-api</artifactId>
  <version>1.0.0.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

对于实际工作的验证,您还需要一个实现,例如Hibernate Validator.Maven依赖:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>4.0.2.GA</version>
  <scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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


小智 9

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

<dependency>
  <groupId>javax.validation</groupId>
  <artifactId>validation-api</artifactId>
  <version>1.1.0.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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