两者都可以用来获取bean实例,但是哪个更好地用于实现呢?
最佳答案
如果需要引用BeanFactory
,请使用BeanFactoryAware
。如果需要引用ApplicationContext
,请使用ApplicationContextAware
。
请注意,ApplicationContext
接口(interface)是BeanFactory
的子类,并在基本BeanFactory
接口(interface)之上提供了其他方法。
如果您只需要调用getBean()
,那么BeanFactory
就足够了。
还要注意,Spring 2.5+提供了一种更好的方式来使自己连接到BeanFactory
或ApplicationContext
,例如
private @Autowired ApplicationContext appContext;
private @Autowired BeanFactory beanFactory;
不需要
XyzAware
接口(interface)。