您需要声明一个如下类型的bean
LocalValidatorFactoryBean:
<bean id="validator" />
以XML或
@Beanpublic javax.validation.Validator localValidatorFactoryBean() { return new LocalValidatorFactoryBean();}
在Java Config中。
编辑:
重要的是要了解,如果正在使用JPA并由Hibernate支持JPA,则Hibernate将尝试自动验证您的Bean和Spring框架。这可能会导致问题,
javax.validation.ValidationException:HV000064: Unable to instantiate ConstraintValidator因为Hibernate不了解Spring
Context,据我所知,甚至使用LocalValidatorFactoryBean,也无法告诉它。这将导致验证程序运行两次。一个正确,一旦失败。
为了禁用默认的Hibernate ORM验证,需要为Spring设置以下属性:
spring.jpa.properties.javax.persistence.validation.mode=none
我更新了这个示例,因为这是我一遍又一遍地发现未注入Validator的示例,事实证明这是我面临的问题。
Spring文档的这一部分包含所有详细信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)