04内存情况

applicationContext
  属性
   |-resourcePatternResolver  类型PathMatchingResourcePatternResolver
   |-environment 类型StandardEnvironment 能力:1解析带有占位符的地址字符串入参变成
            真正的地址字符串,其实是下面属性解析器干的活,2判断activeProfile功能
	 属性
      |-ConfigurablePropertyResolver属性解析器:PropertySourcesPropertyResolver 能力:解析替换占位符字符串
        属性
         |-PropertyPlaceholderHelper帮助器:PropertyPlaceholderHelper 能力:专门解析指定前后缀之间的内容
         |-conversionService转换器:DefaultConversionService 能力:转换a类型到b类型
   |-List<BeanFactoryPostProcessor> beanFactoryPostProcessors

beanFactory 类型DefaultListableBeanFactory
  属性
   |-allowBeanDefinitionOverriding 类型Boolean,默认为false
   |-allowCircularReferences 类型Boolean,默认为false
   |-autowireCandidateResolver 类型QualifierAnnotationAutowireCandidateResolver
   |-beanExpressionResolver 类型StandardBeanExpressionResolver
   |-propertyEditorRegistrar 类型ResourceEditorRegistrar
   |-List<BeanPostProcessor> beanPostProcessors{
       ApplicationContextAwareProcessor
     }
   |-Set<Class<?>> ignoredDependencyInterfaces{
      ResourceLoaderAware.class,ApplicationEventPublisherAware.class,
      MessageSourceAware.class,ApplicationContextAware.class,EnvironmentAware.class
    }
   |-Map<Class<?>, Object> resolvableDependencies{
      BeanFactory.class, beanFactory
	  ResourceLoader.class, applicationContext
	  ApplicationEventPublisher.class, applicationContext
	  ApplicationContext.class, applicationContext
    }
    //所有单例bean最终进入到这里
   |-Map<String, Object> singletonObjects{
      "environment", environment对象
      "systemProperties", environment对象.getSystemProperties()
      "systemEnvironment", environment对象.getSystemEnvironment()
    }
   |-Map<String, ObjectFactory<?>> singletonFactories{
    }
   |-Map<String, Object> earlySingletonObjects{
    }
   |-Set<String> registeredSingletons{
      "environment","systemProperties","systemProperties"
    }
   |-Map<Class<?>, String[]> singletonBeanNamesByType
   |-List<BeanFactoryPostProcessor> beanFactoryPostProcessors
    //所有BeanDefinition最终进入到这里
   |-Map<String, BeanDefinition> beanDefinitionMap
    //所有BeanDefinition的name最终进入到这里
   |-List<String> beanDefinitionNames
    //所有BeanPostProcessor对象最终进入到这里
   |-List<BeanPostProcessor> beanPostProcessors{
      new BeanPostProcessorChecker(beanFactory, 计数器)
      new ApplicationListenerDetector()
    }

reader 类型XmlBeanDefinitionReader

documentLoader 类型DefaultDocumentLoader

posted @ 2024-07-20 00:33  bplan2010  阅读(16)  评论(0)    收藏  举报