Spring BeanFactoryAware和AppplicationContextAware有什么区别?
两者都可以用来获取bean实例,但哪一个更适合用于实现呢?
两者都可以用来获取bean实例,但哪一个更适合用于实现呢?
如果需要对 的引用,请使用 。如果需要对 的引用,请使用 。BeanFactory
BeanFactoryAware
ApplicationContext
ApplicationContextAware
请注意,该接口是 的子类,并在基本接口之上提供了其他方法。ApplicationContext
BeanFactory
BeanFactory
如果你需要做的就是调用,那么就足够了。getBean()
BeanFactory
还要注意的是,Spring 2.5+提供了一种更好的方式,可以让自己与or连接,例如BeanFactory
ApplicationContext
private @Autowired ApplicationContext appContext;
private @Autowired BeanFactory beanFactory;
无需接口。XyzAware
An 是 的扩展版本,因此提供了额外的功能。ApplicationContext
BeanFactory
因此,是否使用或归结为一个问题:您是否明确需要任何附加功能?如果您确实实现了否则,请坚持使用 .ApplicationContextAware
BeanFactoryAware
ApplicationContext
ApplicationContextAware
BeanFactoryAware