美文网首页
1、什么是BeanDefinition

1、什么是BeanDefinition

作者: YonchanLew | 来源:发表于2021-06-07 15:21 被阅读0次

(1)什么是BeanDefinition?
BeanDefinition表示Bean定义,
Spring根据BeanDefinition来创建Bean对象,
BeanDefinition有很多的属性用来描述Bean,
BeanDefinition是Spring中非常核心的概念。

(2)BeanDefinition中重要的属性
beanClass:表示一个bean的类型,比如UserService.class、OrderService.class,Spring在创建Bean的过程中会根据此属性来实例化得到对象。
scope:表示一个bean的作用域,比如:scope等于singleton,该bean就是一个单例Bean; scope等于prototype,该bean就是一个原型Bean。
isLazy:表示一个bean是不是需要懒加载,原型bean的isLazy属性不起作用,懒加载的单例bean,会在第一次getBean的时候生成该bean,非懒加载的单例bean,则会在Spring启动过程中直接生成好。
dependsOn:表示一个bean在创建之前所依赖的其他bean,在一个bean创建之前,它所依赖的这些bean得先全部创建好。
primary:表示一个bean是主bean,在Spring中一个类型可以有多个bean对象,在进行依赖注入时,如果根据类型找到了多个bean,此时会判断这些bean中是否存在一个主bean,如果存在,则直接将这个bean注入给属性。
initMethodName:表示一个bean的初始化方法,一个bean的生命周期过程中有一个步骤叫初始化,Spring会在这个步骤中去调用bean的初始化方法,初始化逻辑由程序员自己控制,表示程序员可以自定义逻辑对bean进行加工。

(3)来自哪里?
@Component、@Bean、<bean/> 这些都会解析为BeanDefinition对象

相关文章

网友评论

      本文标题:1、什么是BeanDefinition

      本文链接:https://www.haomeiwen.com/subject/khbgsltx.html