Spring-总体架构简述(三)
Spring的骨骼架构是,Bean组件,Content组件,Core组件。
最核心是Bean组件,意义类似于java面向对象的 '对象' 这个概念。
spring的作用核心是,把对象之间的依赖关系通过配置文件来管理,即依赖注入机制。
Bean组件包装了Object,而Object一定带有数据,所以需要通过Content组件来给这些数据提供生存环境,同时Content去找寻Bean之间的关系,并维护这些关系,可以把Content组件理解为Bean之间的关系的集合,这个关系集合也叫Ioc容器。一旦建立了Ioc容器,spring的核心功能就有了。
Core组件是发现,建立,维护Bean之间的关系的工具,可以理解为Util。
Bean组件
Bean组件在org.springframework.beans包下,这个包的类主要完成bean的定义,创建,解析。使用者只要关心'创建'即可,定义和解析是透明的。
Bean创建的父接口是BeanFactory,最终默认实现类是DefaultListableBeanFactory。
Core组件
Core组件定义了资源的访问方式,Resource接口封装了各种可能的资源类型。所有资源通过InputStream类来获取。所有资源通过ResourceLoader接口来加载,默认实现是DefaultResourceLoader类。
Context组件
Context组件在org.springframework.context包下,作用是给spring提供一个运行时环境,保存各个对象状态。ApplicationContext类是Context的顶级父类,它继承了5个接口,其中包括BeanFactory接口和ResourceLoader接口,以实现对bean和资源的管理。
ApplicationContext完成了,标识一个应用环境,利用BeanFactory创建对象,保存对象关系表,捕获各种事件这几件事。
bean实例创建流程图: