Какую настройку мне нужно сделать, чтобы использовать аннотации JSR-303 с помощью Spring?

Я загрузил spring 3 и поместил его в свой путь к классам, но я не могу импортировать аннотацию @Valid. Тем не менее, я могу импортировать другие аннотации spring 3 (например, @Controller). Что такое Jar @Valid in и какой пакет?

EDIT: это аннотация JSR-303. Что это значит и как мне это получить?

Ответ 1

отсутствует 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.

Ответ 2

Просто для полноты, теперь также доступна следующая версия спецификации, что она 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 Валидация 1.1, из которой Red Hat - это спецификация.

Ответ 4

Это не аннотация spring, она от javaee и идет javax.validation.Valid, следовательно, ссылка JSR.