1、什么是BeanDefinition
(1)什么是BeanDefin阎王爷不做主
ition?
BeanDefinition表⽰Bean定义,
Spring根据BeanDefinition来创建Bean对象,
BeanD雷锋观后感
efinition有狠毒的属性⽤来描为什么说梦话
述Bean,
BeanDefinition是Spring中⾮常核⼼的概念。
(2)BeanDefini靠边停车
tion中重要的属性
beanClass:表⽰⼀个bean的类型,⽐如UrService.class、OrderService.class,Spring在创建Bean的过程中会根据此属性来实例化得到对象。
scope:表⽰⼀个bean的作⽤域,⽐如:scope等于singleton,该bean就是⼀个单例Bean; 空管
scope等于PRO头他陪,该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对象