Spring BeanFactoryAware和ApplicationContextAware有什么区别?

Mat*_*att 12 java spring

两者都可以用来获取bean实例,但哪一个更适合用来实现?

ska*_*man 29

如果您需要参考BeanFactory,那么使用BeanFactoryAware.如果您需要参考ApplicationContext,那么使用ApplicationContextAware.

请注意,ApplicationContext接口是其子类BeanFactory,并在基本BeanFactory接口之上提供其他方法.

如果你需要做的只是打电话getBean(),那就BeanFactory足够了.

还要注意的是,Spring 2.5+提供了让自己与有线一个更好的方式BeanFactoryApplicationContext

private @Autowired ApplicationContext appContext;
private @Autowired BeanFactory beanFactory;
Run Code Online (Sandbox Code Playgroud)

不需要XyzAware接口.