我正在努力寻找更好的做法。在Spring中,我的很多类都需要从XmlBeanFactory加载bean(对象)。所以我将以下几行放入我的大部分课程中
private static XmlBeanFactory beanFactory = new XmlBeanFactory(
new ClassPathResource("config.xml"));
有没有人知道我这样做的更好,所以我的大部分课程都没有这个?
答案 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);
...
}
}