spring 生命周期整体梳理

本文深入解析Spring框架中bean的生命周期,从实例化前后的各种处理器到属性注入,再到初始化和销毁阶段,全面阐述了Spring管理bean的全过程。了解这些机制有助于更高效地利用Spring进行软件开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring 的生命周期

目的

ms当中经常问到,spring 可以说是java程序员必定会用到的东西,然而只知其然不知所以然,理解生命周期的作用,为啥要这么设计,可以借鉴生命周期哪些更高层次的编程,可以吊打面试官

实例初始化前后调用的方法

  1. 实例化 beanFactoryPostProcessor

    bean工厂后处理器
    工厂处理器肯定比bean先实例化

  2. 实例化 beanPostProcessor

    bean后置处理器

  3. 实例化 instantiationAwareBeanPostProcessorAdapter

    实例化感知的bean后处理器适配器

  4. 执行 instantiationAwareBeanPostProcessor.postProcessorBeforeInstantiation

    实例化感知的bean后处理器
    在实例化之前的后处理器方法
    在目标bean被实例化之前,应用这个beanPostProcessor

  5. 执行bean构造器

    bean正式被实例化

  6. 执行 instantiationAwareBeanPostProcessor.postProcessorPropertyValues

    实例化感知的bean后处理器
    后处理器属性值的方法
    在工厂将给定的属性值应用到始定的bean之前,之后进行bean的属性值注入,致辞java对象实际已完成实例并给bean管理,但是bean还不可用

  7. 调用 beanNameAware.setBeanName() 方法

    先设置bean 的name

  8. 调用 beanFacotryAware.setBeanFacotry()方法

    在设置bean 的工厂

  9. 执行 beanPostProcessor.postProcessorBeforeInstantiation()方法

    后处理器实例化之前的方法

  10. 调用 initializingBean.afterPropertiesSet 方法

    在它设置了所有bean属性之后,由beanFacotry 调用

  11. 调用 bean.initmethod的属性指定,初始化方法

  12. 执行 intantiationAwareBeanPostProcessor的postProcessorAfterInstatiation方法

    在bean 通过构造方法或通过工厂方法实例化后执行操作,但是在spring (从显式属性或自动化状态)属性出现之间

  13. 初始化成功

    程序可以使用这个bean了,后面可以销毁了,调用DisposableBean.destory 方法
    被一个beanfacotry 调用以破坏一个单例对象
    调用bean的 destory_method 的方法,指定销毁方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值