我尝试为我的Web应用程序实现验证,如第节所述。
5.7.4.3
关于Spring3.0文档:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator">
<bean class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
</property>
</bean>
</property>
</bean>
我已将Hibernate验证程序添加为依赖项,所有内容看起来都正常,但启动我的Web应用程序会导致以下错误:
org.springframework.beans.NotWritablePropertyException:
Invalid property 'validator' of bean class
[org.springframework.web.bind.support.ConfigurableWebBindingInitializer]:
Bean property 'validator' is not writable or has an invalid setter method.
Does the parameter type of the setter match the return type of the getter?
在查看API时,很明显有问题。
LocalValidatorFactoryBean
器具
javax.validation.Validator
虽然
ConfigurableWebBindingInitializer.setValidator()
期望A
org.springframework.validation.Validator
.
有什么解决办法吗?
编辑
关于
本地验证工厂bean
:
这是头等舱
javax.validation
(JSR-303)在Spring应用程序上下文中的设置:它引导
javax.validation.ValidationFactory
在春天曝光
Validator
接口以及通过JSR-303
验证器
接口和
ValidatorFactory
接口本身。
就像亚历克斯·马歇尔在下面所说的,这是
不
案件。
本地验证工厂bean
仅实现
javax.validation.validator验证程序
.
本地验证工厂bean
确实扩展
SpringValidatorAdapter
但是,它实现了
org.springframework.validation.validator验证程序
.