要使应用程序中的 Spring 容器成功启动,需要以下三方面条件:
- Spring 框架所需的包都放在类路径下。
- 应用程序为 Spring 提供了完备的 Bean 配置信息。
- Bean 的实现类都已放在应用程序的类路径下。
Spring 启动时读取应用程序提供的 Bean 配置信息,并在 Spring 容器中生成一份 Bean 的配置注册表,然后根据注册表中的信息实例化 Bean, 并装配好 Bean 之间的依赖关系,为上层应用提供就绪的运行环境 。
Bean 的配置信息是 Bean 的元数据信息,它包含:
- Bean 的实现类。
- Bean 的属性信息。
- Bean 的依赖关系。
- Bean 的行为配置。
Bean 的元数据信息在 Spring 容器中是由多个 BeanDefinition 组成的注册表。Spring 支持多种形式的 Bean 配置方式:
配置方式 | 首次出现的 Spring 版本号 |
---|---|
XML | 1.0 |
注解 | 2.0 |
Java 类 | 3.0 |
Groovy | 4.0 |
Bean 配置信息定义了 Bean 的实现类与依赖关系,Spring 容器根据这些信息建立了 Bean 的定义注册表;然后根据注册表装载、实例化 Bean,并建立 Bean 与 Bean 之间的依赖关系;最后将这些 Bean 实例放入 Bean 缓存池,以供应用程序调用使用。