应用上下文AnnotationConfigApplicationContext
ResourceLoader(I):定义获取资源对象和类加载器的方法
DefaultResourceLoader(C):实现ResourceLoader接口,提供根据资源类型调用对应类型处理的方法
ResourcePatternResolver(I):继承ResourceLoader接口,定义获取资源列表的方法
BeanFactory(I):Bean工厂的顶层接口,定义Bean工厂的多种基础方法,其中包含获取Bean实例的核心方法
HierarchicalBeanFactory(I):继承BeanFactory接口,定义了获取bean工厂的父工厂的方法,扩展了BeanFactory对父工厂的支持
ListableBeanFactory(I):继承BeanFactory接口,定义了获取bean属性或实例列表的方法
MessageSource(I):定义国际化方法
EnvironmentCapable(I):定义获取运行环境信息的方法
ApplicationEventPublisher(I):FunctionalInterface函数式接口,定义发布通知事件的方法
ApplicationContext(I):继承EnvironmentCapable(获取bean运行的环境信息)、ListableBeanFactory(支持以列表的形式获取bean)、HierarchicalBeanFactory(用来获取Bean父工厂的分层结构)、MessageSource(提供对国际化支持的API)、ApplicationEventPublisher(支持给容器中发布事件,完成事件驱动的功能)、ResourcePatternResolver(用来支持对应用中配置文件的解析工作),整合上述接口接口的功能,定义获取容器及其信息的方法
Lifecycle(I):定义控制容器生命周期的方法
AutoCloseable(I):定义销毁容器的方法,JDK1.7后引入,支持IO流自动关闭
Closeable(I):继承AutoCloseable,定义销毁容器的方法(1.7后引入AutoCloseable支持自动)
ConfigurableApplicationContext(I):继承ApplicationContext、Lifecycle、Closeable,定义设置容器信息和操作容器的方法
AbstractApplicationContext(A):继承DefaultResourceLoader,实现ConfigurableApplicationContext,实现了配置容器信息和操作容器的方法
AliasRegistry(I):定义对bean别名的简单增删改等操作
BeanDefinitionRegistry(I):继承AliasRegistry,定义对BeanDefinition的增删改查等操作
GenericApplicationContext(C):继承AbstractApplicationContext,实现BeanDefinitionRegistry,管理默认bean工厂DefaultListableBeanFactory对bean的操作
AnnotationConfigRegistry(I):定义注册bean配置定义和扫描包的方法,支持使用@Configuration向容器中注册的bean配置定义
AnnotationConfigApplicationContext(C):继承GenericApplicationContext,实现AnnotationConfigRegistry,整合bean容器的所有上下文信息,提供构造方法,使用户启动以及管理spring容器更便捷。
默认bean工厂DefaultListableBeanFactory
AliasRegistry(I):定义对bean别名的简单增删改等操作
SimpleAliasRegistry(C):实现AliasRegistry,实现对bean别名的简单增删改等操作
SingletonBeanRegistry(I):定义了与单实例bean注册相关的方法
DefaultSingletonBeanRegistry(A):继承SimpleAliasRegistry,实现SingletonBeanRegistry,实现对单实例bean增删改查的处理,并设置了三级缓存
FactoryBeanRegistrySupport(A):继承DefaultSingletonBeanRegistry,扩展工厂bean注册的支持
BeanFactory(I):Bean工厂的顶层接口,定义Bean工厂的多种基础方法,其中包含获取Bean实例的核心方法
HierarchicalBeanFactory(I):继承BeanFactory接口,定义了获取bean工厂的父工厂的方法,扩展了BeanFactory对父工厂的支持
ConfigurableBeanFactory(I):继承HierarchicalBeanFactory和SingletonBeanRegistry接口,定义配置bean工厂的各种方法
AbstractBeanFactory(A):继承FactoryBeanRegistrySupport,实现ConfigurableBeanFactory,整合FactoryBeanRegistrySupport和ConfigurableBeanFactory的功能,提供获取bean的方法。
AutowireCapableBeanFactory(I):继承BeanFactory,定义bean的增删方法
AbstractAutowireCapableBeanFactory(A):继承AbstractBeanFactory,实现AutowireCapableBeanFactory,提供创建实例化Bean、填充属性的方法
ListableBeanFactory(I):继承BeanFactory接口,定义了获取bean属性或实例列表的方法
ConfigurableListableBeanFactory(I):继承ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory接口,提供分析和修改Bean以及预先实例化的操作接口
BeanDefinitionRegistry(I):继承AliasRegistry,定义对BeanDefinition的增删改查等操作
DefaultListableBeanFactory(C):继承AbstractAutowireCapableBeanFactory,实现ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable,默认bean工厂提供了原始的Bean工厂的功能
注解类型Bean定义AnnotatedGenericBeanDefinition
AttributeAccessor(I):定义对bean中元数据访问的抽象接口
BeanMetadataElement(I):定义获取配置”源对象“的接口
BeanDefinition(I):继承AttributeAccessor, BeanMetadataElement,定义bean定义的各种操作
AnnotatedBeanDefinition(I):继承BeanDefinition,注解式的Bean定义AttributeAccessorSupport(A):实现AttributeAccessor, Serializable,实现对bean中元数据访问的方法
BeanMetadataAttributeAccessor(C):继承AttributeAccessorSupport,实现BeanMetadataElement,对bean中元数据访问的抽象类
AbstractBeanDefinition(A):继承BeanMetadataAttributeAccessor,实现BeanDefinition,Cloneable,Bean定义抽象类
GenericBeanDefinition(C):继承AbstractBeanDefinition,bean定义通用类,整合上述接口功能
AnnotatedGenericBeanDefinition(C):继承GenericBeanDefinition,实现AnnotatedBeanDefinition,扩展bean定义支持注解元数据