Spring BeanDefinition

Spring BeanDefinition,第1张

Spring BeanDefinition Spring BeanDefinition

BeanDefinition是spring bean创建的元属性,bean的创建和属性配置都和其相关。一般注册到spring容器的beanDefinition类都是会被自动创建,我们可以通过创建并注册到容器来实现特定功能的实现。

类介绍
public interface BeanDefinition extends AttributeAccessor, BeanmetadataElement {...}

类图如下:


BeanDefinition 元信息

属性说明ClassBean 全类名,必须是具体类,不能用抽象类或接口NameBean 的名称或者 IDScopeBean 的作用域(如:singleton、prototype 等)Constructor argumentsBean 构造器参数(用于依赖注入)PropertiesBean 属性设置(用于依赖注入)Autowiring modeBean 自动绑定模式(如:通过名称 byName)Lazy initialization modeBean 延迟初始化模式(延迟和非延迟)Initialization methodBean 初始化回调方法名称Destruction methodBean 销毁回调方法名称

关键类介绍

  • RootBeanDefinition – bean 创建前的最终定义、不允许被修改
  • GenericBeanDefinition-- 通用 beanDefinition
  • AnnotatedBeanDefinition --注解类的 beanDefinition
  • ScannedGenericBeanDefinition --扫描@Component - - -@service 等注解生成的 BeanDefinition
  • ConfigurationClassBeanDefinition --扫描 @Bean @Configuration 生成的 beanDefinition
BeanDefinition 注册方式

方式 1:

DefaultListableBeanFactory.registerBeanDefinition

方式 2:

BeanDefinitionReaderUtils.registerWithGeneratedName
BeanDefinition 创建方式

1、BeanDefinitionBuilder

2、通过 AbstractBeanDefinition 以及派生类

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5687314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存