如何在ConstraintValidator中使用@Autowired?

时间:2019-10-14 15:07:36

标签: java spring spring-boot

是否可以在嵌套到ConstraintValidator的{​​{1}}中使用依赖注入?

我创建了需要验证一些数据的自定义注释。

@interface只是一个普通的类:它没有用CodebookValidator@Service进行注释...但是,即使我用{{1}进行注释,DI也无法工作} ...

关于如何在@Component中使用@Service的任何想法?这是代码段:

@Autowired

1 个答案:

答案 0 :(得分:2)

您可以为自己的Validator bean提供Spring自动装配功能:

@Bean
public Validator validator(final AutowireCapableBeanFactory beanFactory) {

    ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
            .configure()
            .constraintValidatorFactory(new SpringConstraintValidatorFactory(beanFactory))
            .buildValidatorFactory();

    return validatorFactory.getValidator();
}