beandefinition与beanfactory

113 阅读1分钟

前面在讲到bean的生命周期时,提到了beandefinition,这个东西是用来创建bean对象的,beandefinition有很多重要属性:1.beanClass
2.scope 3.isLazy 4.dependsOn 5.primary 6.initMethodName

beanclass表示一个bean的类型
scopebean的作用域,singleton,单例,prototype,原型bean
isLazy原型bean的izLazy不起作用,非懒加载的单例bean会在spring启动过程中直接生成好
dependsOn在一个bean创建之前,把它依赖的bean都得创建好
primary如果找到了多个同type的bean,会查看有没有主bean,如果存在,则直接注入
initMethodName初始化时对bean进行加工

beanfactory将利用beandefinition来生成bean对象,beanfactory下面有很多实现类。