使用Spring访问XmlBeanFactory的更好设计

时间:2012-03-22 19:33:59

标签: java spring dependency-injection

我正在努力寻找更好的做法。在Spring中,我的很多类都需要从XmlBeanFactory加载bean(对象)。所以我将以下几行放入我的大部分课程中

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

有没有人知道我这样做的更好,所以我的大部分课程都没有这个?

1 个答案:

答案 0 :(得分:1)

您可以使您的类实现BeanFactoryAware,它将为您提供Bean工厂的实例,因此您可以直接调用BeanFactory.getBean(..)方法之一。

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);
    ...
  }
}