Java 使用Spring访问XmlBeanFactory的更好设计

Java 使用Spring访问XmlBeanFactory的更好设计,java,spring,dependency-injection,Java,Spring,Dependency Injection,我正试图找到一个更好的方法来做这件事。在Spring中,我的很多类都需要从XmlBeanFactory加载bean(对象)。所以我把下面这句话放在我的大部分课程里 private static XmlBeanFactory beanFactory = new XmlBeanFactory( new ClassPathResource("config.xml")); 有谁知道更好的方法让我这样做,这样我就不必在我的大多数类中使用它了吗?您可以让您的类实现,它将为您提供be

我正试图找到一个更好的方法来做这件事。在Spring中,我的很多类都需要从XmlBeanFactory加载bean(对象)。所以我把下面这句话放在我的大部分课程里

private static XmlBeanFactory beanFactory = new XmlBeanFactory(
            new ClassPathResource("config.xml"));

有谁知道更好的方法让我这样做,这样我就不必在我的大多数类中使用它了吗?

您可以让您的类实现,它将为您提供bean工厂的实例,这样您就可以直接调用其中一个方法

public class MyFactoryBean implements BeanFactoryAware {
  private BeanFactory beanFactory;

  public void setBeanFactory(BeanFactory beanFactory) {
    this.beanFactory = beanFactory;
  }

  public void someMethod() {
    MyBean myBean = beanFactory.getBean("myBean", MyBean.class);
    ...
  }
}

你能举个例子说明怎么做吗?真不敢相信你让我在这里打字。你现在一定要接受答案。:)我将implements BeanFactoryAware添加到了我的对象中,现在我得到了一个空值?当然,MyFactoryBean的实例应该从Spring上下文中获得。谢谢。。我不知道这一点,只是刚刚才知道。。谢谢