У меня возникла проблема с введением Validator
в приложение spring bean при попытке проверить модель с помощью JSR-303 (hibernate-validator)
Мой основной класс конфигурации:
@EnableAutoConfiguration
@EnableWebMvc // <---
@EnableJpaRepositories("com.example")
@EntityScan("com.example")
public class MainConfiguration {
В соответствии с javadocs:
/**
* Provide a custom {@link Validator} instead of the one created by default.
* The default implementation, assuming JSR-303 is on the classpath, is:
* {@link org.springframework.validation.beanvalidation.LocalValidatorFactoryBean}.
* Leave the return value as {@code null} to keep the default.
*/
Validator getValidator();
Hibernate-validator находится в пути к классам. Я пытаюсь ввести его в репозиторий:
@Repository
public class UserRepositoryImpl implements UserRepositoryCustom {
@Autowired
private Validator validator;
Исключение:
No qualifying bean of type [javax.validation.Validator] found for dependency:
UPDATE:
Частичная обработка для этого заключается в определении этого в основном классе конфигурации:
@Bean
public Validator validator() {
return new org.springframework.validation.beanvalidation.LocalValidatorFactoryBean();
}
Но тесты интеграции (те, которые требуют org.springframework.test.context.web.WebAppConfiguration;
аннотации и использования логики проверки), терпят неудачу.