spring源码解析之-什么是BeanDefinition?

BeanDefinition是spring中对bean的定义,涵盖构造这个bean所需的必要参数。spring根据BeanDefinition来创建对象。
属性有:
1.beanClass —>表示一个bean的类型 如:User.class Student.class spring在创建bean时根据这个属性来实例化对象。
2.scope —>表示bean的作用域 例如 singleton就代表该bean是单例 prototype代表bean为原型bean
3.isLazy —>表示一个bean是否需要懒加载。原型bean的isLazy字段不起作用。懒加载的单例bean会在第一次getBean的时候生成该bean,
非懒加载的bean则在spring的启动过程中初始化好
4.dependsOn -->表示创建这个bean之前依赖的其它bean,这些bean在创建之前都要初始化好
5.primary -->表示一个bean是主bean,在spring中一个类型可以有多个bean对象,在创建时会判断这些对象中是否有主bean有的话会赋值给这
个属性
6.initMethodName -->表示一个bean的初始化方法,bean的生命周期中有一个过程叫初始化,spring在这个步骤中会调用bean的初始化方法,初始化逻辑是程序员自己控制的,表示程序员可以自定义bean的加工方式。

使用spring过程中常用的注解 @Component @Bean 以及标签 都会被解析成BeanDefinition对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值