spring-源码-bean生命周期

前言

本文不涉及任何源码,仅仅涉及一些概念上的一些说明,什么是Bean 生命周期 ,注意此Bean 生命周期不是指的类的生命周期,而是 一个 Class 是怎么一步一步 形成 一个spring 管理的Bean的,
为什么要说这个东西,因为只有当你理解了 Bean的生命周期你才能理解 为什么 AutowiredAnnotationBeanPostProcessor 属性注入是放在 属性赋值 、依赖注入,而不是放在初始化方法回调,等等一系列 BeanPostProcessor 的处理

什么是Bean 生命周期

spring bean 生命周期不是说 Bean 创建 和销毁的过程,而是 Class 一步一步 从创建对象到一个合格的 Bean 这里的 Bean 可以理解为 我们创建的对象,但是你怎么能保证这个 对象是原生的还是代理的呢?

Bean生命周期步骤

  1. bean 加载成 BeanDefinition
  2. bean 实例化
  3. bean 属性赋值 & 依赖注入
  4. bean 初始化方法回调

其主要流程是这些,在这些主要流程的执行下又分了 各种各样的处理,比如:BeanPostProcessor 又或者 Aware,通过这一些列的回调、处理组成了 spring - bean 完整的生命周期

说明

在初始化方法调用的时候会去执行 一些 Aware的回调,在执行 初始化方法的时候会去执行 Before 的处理
当执行完初始化方法后也会去执行 After 去处理,但是这些严格来说都仅仅是属于 初始化方法 步骤之一

Spring对于bean的生命周期阶段划分的很明确,就是一个阶段只能由一个阶段对应能干事的来处理,为啥这么说呢?其实如果按说实现的话 那其实 属性赋值和 依赖注入都能 放到 初设方法哪里进行处理,但是为了明确性,所以进行了划分,

后言

个人理解,如有不对,或者哪里有问题,可以相互探讨,也可斧正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值