BeanDefinition
功能
用来对一个bean进行描述,它包括属性和构造函数参数,以及一些其他由具体的实现来提供的相关信息.
方法
-
String: getBeanClassName: 返回当前bean definition定义的类名 -
ConstructorArgumentValues: getConstructorArgumentValues:返回bean的构造函数参数 -
String[]: getDependsOn:返回当前bean所依赖的其他bean的名称 -
String: getFactoryBeanName: 返回factory bean的名称 -
String: getFactoryMethodName: 返回工厂方法的名称 -
BeanDefinition: getOriginatingBeanDefinition: 返回原始的BeanDefinition,如果不存在返回null -
String: getParentName: 返回当前bean definition的父definition的名字 -
MutablePropertyValues: getPropertyValues: 返回一个用于新的bean实例上的属性值 -
String: getScope: 返回当前bean的目标范围 -
boolean: isAbstract: 当前bean是否是abstract,意味着不能被实例化 -
boolean: isLazyInit: bean是否是延迟初始化 -
boolean: isPrimary: bean是否为自动装配的主要候选bean -
boolean: isPrototype: bean是否是多实例 -
boolean: isSingleton: bean是否是单例 -
void: setAutowiredCandidate(boolean): 设置bean是否对其他bean是自动装配的候选bean -
void: setBeanClassName(String): 指定bean definition的类名 -
void: setDependsOn(String ...): 设置当前bean初始化所依赖的beans的名称 -
void: setFactoryBeanName(String): 如果factory bean的名称 -
void: setFactoryMethodName(String): 设置工厂的方法名 -
void: setLazyInit(boolean lazyInit): 设置是否延迟初始化 -
void: setParentName(String): 设置父definition的名称 -
void: setPrimary(boolean): 设置是否主要的候选bean -
void: setScope(String): 设置bean的范围,如:单例,多实例
AnnotatedBeanDefinition
功能
继承了BeanDefinition接口,并添加了对注解元数据访问的方法
方法
-
AnnotationMetadata getMetadata(): 获得当前bean definition 的bean 类(class)的注解元数据 -
MethodMetadata getFactoryMethodMetadata(): 获得当前bean definition 的工厂方法上的元数据
AbstractBeanDefinition、GenericBeanDefinition
功能
BeanDefinition的实现抽象类,GenericBeanDefinition继承自AbstractBeanDefinition
AnnotatedGenericBeanDefinition
功能
继承自GenericBeanDefinition并实现了AnnotatedBeanDefinition接口用来支持对注解元数据的访问