2016-09-24 4 views
1

Я не знаю, если мне нужно, и некоторый код/​​подробности об этом, но я готов предоставить больше информации, если это необходимо :)Валидатор весны: Не удалось автоувеличивать. Нет бобы типа «валидатор» не найдено

я получаю: Could not autowire. No beans of 'Validator' type found. Здесь есть похожие вопросы, но их нет, но не о Validator. Я попытался автоупроверить его через конструктор, но он все тот же. Я использую Intellij Ultime edition. Последняя версия spring-boot-starter-xxx-xxx, которая является 1.4.1.RELEASE на данный момент.

@Configuration 
public class RestConfig extends RepositoryRestConfigurerAdapter { 

    @Autowired 
    private Validator validator; 

    @Override 
    public void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener validatingListener) { 
     validatingListener.addValidator("beforeCreate", validator); 
     validatingListener.addValidator("beforeSave", validator); 
    } 
} 

Edit:

Я изменил код на это, и она работала. Спасибо за ответы ..

@Bean 
public Validator validator() { 
    return new LocalValidatorFactoryBean(); 
} 


@Override 
public void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener validatingListener) { 
    validatingListener.addValidator("beforeCreate", validator()); 
    validatingListener.addValidator("beforeSave", validator()); 
} 

Кстати, мне просто интересно, если человек, который отвергнут этот вопрос может объяснить, почему он/она сделала это?

+0

Plz также сообщите свой файл конфигурации –

+0

Привет @JekinKalariya. Извините за вопрос, но что вы подразумеваете под конфигурацией? Я не использую xml-конфигурации только java-аннотации. – oxyt

+0

ok, тогда дайте свой класс валидатора и где вы сканируете компонент также и ваш beans.xml –

ответ

1

В библиотеке Spring есть интерфейс для Validator. Вам нужно добавить зависимость от вашего проекта, который фактически реализует платформу Validation JSR-303, например Hibernate Validator.

+0

'compile" org.hibernate: hibernate-validator "' - этого достаточно в случае градации? – dmitryvim

1

Как сказано в библиотеке Spring. Для использования валидатора требуется реализация. Теперь это может быть сторонняя реализация или пользовательская пользовательская реализация. Вот LINK, который показывает пример как Hibernate validator, так и Custom validator.