我的个人网址: zidot.cn
Spring Beans
包概述
spring beans 包主要用来处理Spring Bean,包括Bean的容器定义、Bean的生命周期、Bean的初始化、Bean配置加载等。spring 提供了三种Bean的配置方式,包括xml配置、Java config配置、groovy配置。
结构图
spring-beans 下主要包含annotation、factory、propertyeditors、support包。最主要的是factory、propertyeditors包了。我精心整理了包下关键的接口或类,并绘制了类图。如下图
spring-beans 包结构:
其中有几个核心的类,如下:
- BeanInfoFactory
- ExtendedBeanInfo
- BeanWrapper
BeanInfoFactory
BeanInfoFactory 是BeanInfo 工厂类,用来生成指定的Bean Class的描述类BeanInfo。BeanInfoFactory的实现类是ExtendedBeanInfoFactory,其中getBeanInfo方法放回的其实是ExtendedBeanInfo实例。有一点要注意ExtendedBeanInfoFactory 中的getBeanInfo 每次返回的是新的BeanInfo对象,内部没有作缓存。
那BeanInfo是用来做什么的呢。其实BeanInfo,是在java.bean