Я использую spring-webmvc 5 и создал валидатор MyValidator implements org.springframework.validation.Validator
с фабричным полем LocalValidatorFactoryBean
. Я хочу использовать в своем приложении как Bean Validation, так и Spring Validation, но я получаю сообщение об ошибке при использовании @Autowired
на заводском поле: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean' available
Hibernate Validator находится в classpath
Validator и config:
@Service
public class MyValidator implements
org.springframework.validation.Validator {
@Autowired
private LocalValidatorFactoryBean factory;
@Override
public boolean supports(Class<?> clazz) {
...some code...
}
@Override
public void validate(Object target, Errors errors){
javax.validation.Validator validator = factory.getValidator();
...some code...
}
}
@Configuration
@EnableWebMvc
@ComponentScan({"controller","service"})
public class WebConfig implements WebMvcConfigurer{
...some code...
@Bean
public LocalValidatorFactoryBean getValidator() {
return new LocalValidatorFactoryBean();
}
}