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
接口用来支持对注解元数据的访问