Spring поддерживает два разных метода проверки: проверка Spring и проверка bean-компонентов JSR-303. Оба могут использоваться, определяя валидатор Spring, который делегирует другим делегатам, включая валидатор bean. Все идет нормально.
Но когда аннотируют методы для запроса проверки, это совсем другая история. Я могу аннотировать вот так
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) {
или как это
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) {
Здесь @Valid - это javax.validation.Valid , а @Validated - это org.springframework.validation.annotation.Validated . В документации для последнего говорится
Вариант Valid JSR-303, поддерживающий спецификацию групп валидации. Разработан для удобного использования с поддержкой Spring JSR-303, но не специфичен для JSR-303.
что не очень помогает, потому что не говорит точно, чем все отличается. Если вообще. Мне кажется, оба работают нормально.