У меня есть приложение, которое хорошо работает с @Autowired
@Service
бобами.
Теперь я добавляю класс Validator
, который создается в Контроллере:
BlueValidator validator = new BlueValidator(colors);
validator.validate(colorBlend, bindResult);
В классе BlueValidator
я пытаюсь @Autowire blendService
, который работает как поле @Autowired
в другом месте приложения:
public class BlueValidator implements Validator {
@Autowired
private BlendService blendService;
private Colors colors;
Но по какой-то причине после создания экземпляра BlueValidator я продолжаю получать NullPointerException
s для blendService
.
Конечно, я добавил необходимое сканирование контекста:
<context:component-scan
base-package="com.myapp.controllers, com.myapp.services, com.myapp.validators" />
Я также попытался добавить аннотацию @Autowired
в конструктор, но это не помогло:
@Autowired
public BlueValidator(Colors colors) {
this.colors = colors;
}
Должен ли я просто передать blendService
на BlueValidator
и забыть об автопроводке или здесь что-то не хватает очевидного?