上一周主要是针对Spring IoC 容器的概述,包括Spring IoC 依赖查找、依赖注入、依赖来源、配置元信息、容器、应用上下文以及Spring IoC 容器生命周期进行主要分析与概述
接下来的部分进入Spring Bean 的基础部分、我主要分析罗列了主要内容:定义Spring Bean、BeanDefinition 元信息、命名Spring Bean、Spring Bean 的别名、注册Spring Bean、实例化Spring Bean、初始化Spring Bean、延迟初始化 Spring Bean、销毁 Spring Bean、垃圾回收 Spring Bean。
对定义Bean 的理解,什么事BeanDefinition?
那么定义Spring Bean 从一下几个方面进行深入讨论
首先第一个是什么是BeanDefinition:BeanDefinition其实字面意思它就是Bean的一个定义
那么在Spring Framework 中它是Bean 的配置元素的一个元信息接口,首先它有两个方面的元素
第一个方面它是原配置信息或者配置元信息
-
第二个方面它是一个接口,主要包含以下几个方面
其一是它的类的名称,Bean的名称其实这里就是需要包含它的包名,就是它的全部名称,以及它对应的类不惜是一个具体的实现类,
其二就是关于Bean的配置元信息,就是说元信息包括它的行为,包含了作用域、自动绑定,自动绑定就是我们前面所聊到的过的一个事情,就是说AutoWriting 这种模式,再来就是它的生命周期 。比如:初始化或者销毁这样的毁掉,那么当然还有其它的一些定义方式;
其三一些关于Bean 和Bean 之间会有一些合作关系,我们成为合作者或者成为依赖:比如:依赖注入,其实也就是把合作者或者说引用的Bean 注入到里面来,当然依赖注入了不仅仅就是注入Bean。
其四还可以注入其它的配置:比如:Bean 的属性(Properties)配置,假设这个Bean正好是对应线程池或者数据库连接池。这个时候它的Bean可能就会包含一些大小相关的属性
总结
通过上述的维度,简单讨论了什么事Bean的定义以及如何来定义Bean,接下来主要分析BeanDefinition相关的元信息详细介绍一些案例的输出