Я получаю исключение NullPointerException внутри класса ApplicationContextAware
, и я не уверен, почему. Почему applicationContext
пусто при вызове getBean(SomeClass.class)
метода
Ниже приводится мой класс BeanProviderUtil:
@Component
public class BeanProviderUtil implements ApplicationContextAware {
public static ApplicationContext applicationContext;
public static <T extends Object> T getBean(Class<T> beanClass) {
return applicationContext.getBean(beanClass);
}
public static Object getBean(String beanName) {
return applicationContext.getBean(beanName);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
BeanProviderUtil.applicationContext = applicationContext;
}
}
При вызове функции
SomeOtherClass obj = BeanProviderUtil.getBean(SomeOtherClass.class)
Я получаю NPE , При отладке выясняется, что applicationContext неправильно инициализируется Spring.
Примечание
Это потому, что я включил ленивую инициализацию bean-компонента?
Однако я попытался отключить отложенную инициализацию с помощью @Lazy(false)
, а также с помощью Global application.yml
, но это не помогло.