我一直在寻找更好的方法。在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的工厂。

10-08 11:47