Spring 使用 Hibernate 验证进行验证

Spring Validation with Hibernate Validation

我想结合 Hibernate 和 Spring 验证器。我遇到了这个 link: http://www.mkyong.com/spring-mvc/combine-spring-validator-and-hibernate-validator/

它正在按预期工作。但是,要使其正常工作,必须注释掉 InitBinder,进入该方法,如果 BindingResult 中存在错误,则在方法本身内抛出异常。 我更希望它像 @Validated 一样在进入方法之前抛出异常

@Validated 适用于 Spring 并在出现任何错误时抛出 MethodArgumentNotValidException。 有没有一种方法可以将调用 Hibernate 验证作为 Spring 验证器 class 的一部分使用,或者调用两者并将它们绑定到相同的结果

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/beanvalidation/SpringValidatorAdapter.html

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/beanvalidation/LocalValidatorFactoryBean.html

遇到上述 类:采用 JSR-303 javax.validator.Validator 并将其公开为 Spring 验证器的适配器,同时还公开原始的 JSR-303 验证器接口本身。

这解决了问题。我创建了一个 SpringValidatorAdapter bean 并将其注入到我的 Spring 验证器中并在对象上调用验证