Spring中Bean的生命周期

本文详细阐述了Spring中Bean的生命周期,从BeanDefinition的创建到最终的初始化后阶段,包括构造方法推断、实例化、属性填充、初始化以及AOP代理对象的生成。每个步骤都是Bean生命周期的重要组成部分,理解这一过程对于优化Spring应用的性能和定制化处理至关重要。

Spring中Bean的生命周期

 ***bean的生命周期描述的是Spring中的一个bean的创建过程和销毁过程中所经历的步骤。其中bean的创建是重点,程序猿可以利用bean的生命周期机制对bean进行自定义加工。bean生命周期中有几个核心步骤***

第一:BeanDefinition对象的创建(bean定义)
第二:构造方法的推断:(选出一个构造方法)
第三:实例化:(构造方法通过反射得到对象)
第四:属性填充:给属性进行自动赋值
第五:初始化对其他属性赋值,校验
第六:初始化后:AOP生成代理对象

BeanDefintion:
      BeanDefinition表示定义,它定义了某个Bean的类型,Spring就是利用BeanDefinition来创建Bean的。比如需要利用BeanDefinition中的BeanClasss属性确定Bean的类型,从而实例化出来对象。

构造方法推断:
     一个Bean中可以有多个构造方法,此时就需要Spring来判断到底那个是哪个构造方法,这个过程是比较复杂,这里不展开介绍了,通过构造方法推断之后确定一个构造方法后,就可以利用构造方法实例化得到一个对象了。

实例化:
通过构造方法反射得到一个实例化对象,在Spring中,可以通过BeanPostProcessor机制对实例化进行干预

属性填充:
     实例化所得到的对象,是不完整的对象,不完整的意思是该对象中的某些属性还没进行属性填充,也就是Spring还没有自动给某些属性赋值,属性填充就是我们通常说的自动注入,依赖注入

初始化:
在一个对象的属性填充之后,Spring提供了初始化机制,程序员可以利用初始化机制对Bean进行自定义加工,比如可以利用InitializingBean接口来对Bean中的其他属性就行赋值或对某些属性进行校验

初始化后:
     初始化后是Bena创建生命周期中最后一个步骤,我们常说的AOP机制,就是在这个步骤中通过BeanPostProcessor机制实现的,初始化之后得到的对象,才是真正的Bean对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值