Spring web的应用为XmlWebApplicationContext,它的主要功能是适应Web应用,如国际化资源加载,配置资源的读取,事件等。在其内部还才真正包含了一个核心的BeanFactory,可以说有闭月羞花之容,倾国倾城之貌。总之解释为“金屋藏娇”
- public abstract class AbstractRefreshableApplicationContext extends AbstractApplicationContext {
- //属性...
- //其他方法...
- /**
- * 为上下文创建一个内部BeanFactory工厂
- * Create an internal bean factory for this context.
- * Called for each {@link #refresh()} attempt.
- * <p>The default implementation creates a
- * {@link org.springframework.beans.factory.support.DefaultListableBeanFactory}
- * with the {@link #getInternalParentBeanFactory() internal bean factory} of this
- * context's parent as parent bean factory. Can be overridden in subclasses,
- * for example to customize DefaultListableBeanFactory's settings.
- * @return the bean factory for this context
- * @see org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowBeanDefinitionOverriding
- * @see org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowEagerClassLoading
- * @see org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowCircularReferences
- * @see org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowRawInjectionDespiteWrapping
- */
- protected DefaultListableBeanFactory createBeanFactory() {
- return new DefaultListableBeanFactory(getInternalParentBeanFactory());
- }
- //其他方法...
- }
DefaultListableBeanFactory 现在目睹阿娇之倾国倾城之容: