Я попытался реализации проверки для моего веб-приложения, как описано в разделе 5.7.4.3 документации Spring 3.0:Spring JSR303 не работает, как описано в документации Spring
<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>
я добавил гибернации-валидатор как зависимость и все выглядит нормально, но, начиная мои результаты веб-приложения в следующей ошибки:
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()
ожидает org.springframework.validation.Validator
.
Любое решение для этого?
EDIT
This is the central class for
javax.validation
(JSR-303) setup in a Spring application context: It bootstraps ajavax.validation.ValidationFactory
and exposes it through the SpringValidator
interface as well as through the JSR-303Validator
interface and theValidatorFactory
interface itself.
Как Алекс Маршалл заявил, ниже это не дело. LocalValidatorFactoryBean
только реализует javax.validation.Validator
.
LocalValidatorFactoryBean
действительно распространяется SpringValidatorAdapter
, хотя и реализует org.springframework.validation.Validator
.
Я также попробовал обновление до 'hibernate-core-3.5.0.Beta-1', но Spring Hibernate Spring не совместим с этой версией. – Koraktor
Открыт вопрос JIRA по адресу http://jira.springframework.org/browse/SPR-6189. – Koraktor