Spring核心组件
Spring的核心组件有很多,但构成其骨骼的,是Core,Context和Bean。
Bean
三者之中,Bean是核心中的核心。Bean实现了将对象通过配置文件的方式,由Spring来管理对象存储空间,生命周期的分配。通过依赖注入的方式,可以实现将对象注入到指定的业务逻辑类中。这些注入关系,由Ioc容器来管理。
因此,Spring的核心思想常常被称作BOP(Bean Oriented Programming),面向Bean编程。
Bean组件定义在Spring的org.springframework.beans包下,解决了以下几个问题:
- Bean的定义
- Bean的创建
- Bean的解析
使用者只需要关注Bean的创建,其他两个过程由Spring内部完成。
1.整体架构
Spring Bean的整体架构是典型的工厂模式,最上层的接口是BeanFactory。ListableBeanFactory、HierarchicalBeanFactory和AutowireCapableBean是其子类,目的是为了区分Spring内部对象处理和转化的数据限制。
- ListableBeanFactory: 表示这些Bean是可列表的
- HierarchicalBeanFactory: 表示这些Bean有继承关系
- AutowireCapableBeanFactory: 定义Bean的自动装配规则
这几个接口分别定义了Bean的集合、Bean的关系和Bean的行为。
2.Bean定义
Bean的定义主要由BeanDefinition描述,层次关系如下:
