Autowired дает нулевое значение в валидаторе пользовательских ограниченийJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Autowired дает нулевое значение в валидаторе пользовательских ограничений

Сообщение Anonymous »

Я совершенно новичок в Spring и просмотрел несколько ответов на SO по заданной проблеме. Вот ссылки:

Автоматическое подключение Spring 3.1 не работает внутри настраиваемого валидатора ограничений.

Автоматическое подключение сервиса к валидатор

Автоматическое подключение репозитория имеет значение NULL в пользовательском валидаторе ограничений

У меня есть проект Spring, в котором я хочу использовать Hibernate Validator для проверки объекта. Основываясь на том, что я прочитал в Интернете и на нескольких форумах, я попытался внедрить валидатор следующим образом:

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


Но где бы я ни использовал

@Autowired
Validator validator;


Он использовал реализацию валидатора Spring вместо валидатора Hibernate. Я не мог понять, как именно внедрить валидатор Hibernate и просто автоматически связать его с другими классами, поэтому я применил дешевый трюк, теперь моя конфигурация Java выглядит так

@Bean
public Validator validator() {
// ValidatorImpl is Hibernate's implementation of the Validator
return new ValidatorImpl();
}


(Я был бы очень признателен, если бы кто-нибудь действительно указал мне правильное направление, как избежать получения Hibernate Validator таким хакерским способом)< /p>

Но давайте перейдем к основной проблеме:

Вот пользовательское определение проверки

@Target( { METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER } )
@Retention(RUNTIME)
@Constraint(validatedBy = EmployeeValidator.class)
@Documented
public @interface EmployeeValidation {
String message() default "{constraints.employeeConstraints}";
public abstract Class[] groups() default {};
public abstract Class

Подробнее здесь: https://stackoverflow.com/questions/379 ... -validator
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»