我一直在寻找更好的方法。在Spring中,我的很多类都需要从XmlBeanFactory加载bean(对象)。所以我在大多数班级都写了以下一行
private static XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("config.xml"))
然后有人发布我应该让我的类实现BeanFactoryAware,这将为他们提供Bean工厂的实例,因此您可以直接调用BeanFactory.getBean(..)方法之一...
我在类中实现了BeanFactoryAware,但是现在
java.lang.NullPointerException
当我尝试从我的对象访问工厂时。我错过了什么吗? Spring如何知道要使用的beanFactory?
最佳答案
实现BeanFactoryAware
的对象应该是注入bean工厂的bean本身。它是bean处理的一部分。
注入的Bean工厂将是实例化实现BeanFactoryAware
的Bean的工厂。