BeanDefinition

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

你可能感兴趣的:(BeanDefinition)