两者都可以用来获取bean实例,但是哪个更好地用于实现呢?

最佳答案

如果需要引用BeanFactory,请使用BeanFactoryAware。如果需要引用ApplicationContext,请使用ApplicationContextAware

请注意,ApplicationContext接口(interface)是BeanFactory的子类,并在基本BeanFactory接口(interface)之上提供了其他方法。

如果您只需要调用getBean(),那么BeanFactory就足够了。

还要注意,Spring 2.5+提供了一种更好的方式来使自己连接到BeanFactoryApplicationContext,例如

private @Autowired ApplicationContext appContext;
private @Autowired BeanFactory beanFactory;

不需要XyzAware接口(interface)。

09-27 05:41