Spring MVC - поиск валидаторов автоматически
Предположим, у меня есть пример класса сущностей, подобный этому:
public class Address {
...
}
и соответствующий валидатор:
@Component
public AddressValidator implements Validator {
@Override
public boolean supports(Class<?> entityClass) {
return entityClass.equals(Address.class);
}
@Override
public void validate(Object obj, Errors errors) {
...
}
}
Когда я использую контроллер, как показано ниже, все работает:
@RestController
@RequestMapping("/addresses")
public class AddressController {
@Autowired
private AddressValidator validator;
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.setValidator(validator);
}
@RequestMapping(method=POST)
public Long addNewAddress(@Valid @RequestBody Address address) {
...
}
}
Однако, если я опускаю часть регистрации валидатора (то есть следующее), валидация не выполняется.
@Autowired
private AddressValidator validator;
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.setValidator(validator);
}
Регистрация валидаторов вручную кажется бессмысленной. Могу ли я указать Spring для автоматического поиска валидаторов (аналогично поиску контроллеров)?
Это приложение на основе Spring Boot.