Инъекционные поля становятся нулевыми после самоинъекции - PullRequest
0 голосов
/ 17 марта 2020

У меня есть сценарий использования, когда мне нужно вызывать методы внутри моего Бина с использованием экземпляра Бина, а не напрямую для выполнения некоторых действий над каждым методом, поэтому после поиска некоторых предложений я обнаружил, что самоинъекция Бина в себя и вызов методов могут работать, но каждый раз, когда я ссылаюсь на какое-то другое введенное поле, я получаю исключение нулевого указателя. Я вызываю ServiceA.methodA () из другого компонента для тестирования.

Код:

@Component
public Class ServiceA {

@Autowired
ServiceB serviceB;

@Autowired
ServiceA dummyService;

public void methodA(){
dummyService.methodB();
}
public void methodB(){
serviceB.getData();  //Service B is null here;
 }

}

Я получаю исключение нулевого указателя при попытке доступа к компоненту serviceB внутри встроенного компонента, я попытался несколько решений, таких как получение dummyService из applicationContext с использованием @PostConstruct, но ни одно из них не работает. Может кто-нибудь помочь мне понять, что неправильно в этом подходе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...