什么是 BeanDefinition?
BeanDefinition 表示bean的定义,spring根据 beandefinition 用来创建bean对象,他有很多属性来描述bean。
1.beanClass :表示一个bean 的类型,比如UserService.class ,在创建bean 的过程中会根据此属性来实例化得到的对象。
2. scope :表示一个bean的作用域,比如单例 singleton , 原型bean :prototype
3. isLazy:表示是否懒加载,原型bean的islazy不起作用,懒加载的单例bean,会在第一次getBean的时候生产该bean,非懒加载的单例bean,则会在spring启动过程中直接生成好。
4.dependsOn:表示一个bean创建之前所依赖的其他bean,在bean创建之前,他所依赖的bean需要全部创建好。
5.primary:一个bean是主动bean ,在spring中一个类型学可以用多个bean,此时会判断这些bean中是否存在主bean,如果存在直接将bean注入给属性。
6.initMethodName: 表示一个bean的初始化方法,bean生命周期中有一个步骤初始化,spring会在初始化中去调用这个方法,这个方法由程序员自己去实现。
@bean @compont <bean/> 都会解析为 BeanDefinition
标签:spring,beandefinition,bean,单例,BeanDefinition,类中,属性 From: https://www.cnblogs.com/zoubuqing/p/17714029.html