5.3.Bean介绍
Spring IoC容器将管理一个或多个bean,这些bean 将通过配置文件中的bean定义被创建(在XML格式中为<bean/>
元素)。
在容器内部,这些bean定义由BeanDefinition对象来表示,该定义将包含以下信息:
- 全限定类名:这通常就是已定义bean的实际实现类。
- bean行为的定义,这些定义将决定bean在容器中的行为(作用域、生命周期回调等等)
- 对其他bean的引用,这些引用bean也可以称之为协作bean(collaborators) 或依赖bean(dependencies).
- 创建bean实例时的其他配置设置。比如使用bean来定义连接池,可以通过属性或者构 造参数指定连接数,以及连接池大小限制等。
上述内容直接被翻译为每个bean定义包含的一组properties。下面的表格列出了部分 内容的详细链接:
表 5.1. bean定义
名称 | 链接 |
---|---|
class | 5.3.2, “实例化bean” |
name | 5.3.1, “bean的命名” |
scope | 5.5, “Bean的作用域” |
constructor arguments | 5.4.1, “依赖注入” |
properties | 5.4.1, “依赖注入” |
autowiring mode | 5.4.5, “自动装配(autowire)协作者” |
dependency checking mode | 5.4.5, “依赖检查” |
lazy-initialization mode | 5.4.4, “延迟初始化bean” |
initialization method | 初始化回调 |
destruction method | 析构回调 |
除了通过bean定义来描述要创建的指定bean的属性之外,某些BeanFactory的实现也允许将那些非BeanFactory创建的、已有的用户对象注册到容器中,比如使用DefaultListableBeanFactory 的registerSingleton(..)方法。不过大多数应用还是采用 元数据定义为主。