0

我有 spring boot 项目,一个使用 javax 验证 API 的 bean。

我正在尝试在我的自定义验证器中为 bean 注入服务。但服务对象为空。
我没有找到使用 Spring ConstraintValidator 的完整示例,并且我不了解某些人在其他主题中为他们的集成测试所做的配置。

我想要一个带有这样的构造函数注入的验证器(我不想使用@Autowired nore javax @Inject):

@Component
public class CustomValidator implements ConstraintValidator<ValidCustomValidator, CustomObj> {

private ErreurService erreurService;

public CustomValidator(ErreurService erreurService) {
     this.erreurService=erreurService;
}

@Override
public boolean isValid(CustomObj customObj, ConstraintValidatorContext context) {
    erreurService.getMessages("");
    return false;
}
}

**错误服务**

@Service("ErreurService")
@Transactional
public class ErreurServiceImpl implements ErreurService {//...}

用这种方法我得到了一个例外HV000064: Unable to instantiate ConstraintValidator

我尝试使用@Autowired,但总是得到一个 NPE。你能帮我吗 ?

4

1 回答 1

0

您是否将@Service注释放在ErreurService实现类上?是否在指定的包装中ComponentScan

于 2020-09-11T14:30:17.333 回答