У меня есть вариант использования, когда мне нужно вызывать методы внутри моего Bean, используя экземпляр Bean, а не напрямую выполнять некоторые действия над каждым методом. Поэтому после поиска некоторых предложений я обнаружил, что самостоятельное внедрение Bean в себя и вызов методов может работает, но каждый раз, когда я ссылаюсь на какое-то другое введенное поле, я получаю исключение нулевого указателя. Я вызываю 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;
}
}
Я получаю исключение нулевого указателя при попытке доступа к bean-компоненту serviceB внутри самостоятельно внедряемого bean-компонента. Я попробовал несколько решений, таких как получение dummyService из applicationContext , используя @PostConstruct, но ни одно из них, похоже, не работает. Может ли кто-нибудь помочь мне понять, что не так в этом подходе?
Подробнее здесь:
https://stackoverflow.com/questions/607 ... -injection