У меня есть сценарий использования, когда мне нужно вызывать методы внутри моего Бина с использованием экземпляра Бина, а не напрямую для выполнения некоторых действий над каждым методом, поэтому после поиска некоторых предложений я обнаружил, что самоинъекция Бина в себя и вызов методов могут работать, но каждый раз, когда я ссылаюсь на какое-то другое введенное поле, я получаю исключение нулевого указателя. Я вызываю 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, но ни одно из них не работает. Может кто-нибудь помочь мне понять, что неправильно в этом подходе?