• 简述Spring Bean生命周期


    在这里插入图片描述

    前言

    在Spring容器里,Bean的完整生命周期比较长。但是我们必须要掌握它。

    Bean周期总览

    Bean周期总体如下所示。
    在这里插入图片描述
    接下来会简单讲下各个步骤的主要功能。

    Bean实例化

    必须步骤。
    此步骤主要是实例化一个Bean,例如new一个对象。这个步骤主要是设置bean的作用域等操作。

    设置属性

    必须步骤。
    这个主要是按照Spring Context对实例化的Bean进行配置,也就是常说的IOC注入。

    setBeanName

    非必须。
    如果当前Bean已经实现了BeanNameAware接口,会调用它实现的SetBeanName方法。

    setBeanFactory

    非必须。
    如果当前Bean实现了BeanFacoryAware接口,会调用它实现的setBeanFactory方法。

    setApplicationContext

    非必须。
    如果这个 Bean 实现了 ApplicationContextAware 接口,会调用setApplicationContext方法。

    初始化预处理

    非必须。
    如果Bean实现BeanPostProcessor接口,将会调用执行postProcessBeforeInitialization方法。

    可以看下项目的拦截器的代码实现

    afterPropertiesSet

    非必须。
    如果bean实现了InitializingBean,则执行afterPropertiesSet,执行属性设置之后的操作

    Bean初始化

    非必须。
    如果 Bean 在 Spring 配置文件中配置了 init-method 属性会自动调用其配置的初始化方法

    初始化后处理

    非必须。
    如果Bean实现BeanPostProcessor接口,将会调用执行postProcessAfterInitialization方法。

    以上工作完成以后就可以应用这个 Bean 了

    Bean过期自动清理

    当 Bean 不再需要时,会经过清理阶段,如果 Bean 实现了DisposableBean 这个接口,会调用那个其实现的 destroy()方法

    自定义销毁方法

    如果这个 Bean 的 Spring 配置中配置了 destroy-method 属性,会自动调用其配置的销毁方法。

    以上就是spring bean的完整生命周期。如果你觉得对你有帮助,可以收藏下,免得下次找不到了。

  • 相关阅读:
    Avalonia为DataGrid添加行点击事件
    P2605 [ZJOI2010]基站选址(线段树优化dp经典题)
    Hive三种模式安装部署
    设计模式:享元模式
    埃氏筛法与线性筛法
    windows关闭nginx
    21天打卡进阶Python基础操作
    如何抓取网站的内容而不被阻止?
    spring 常用注解
    10 Go语言中接口运算,空接口
  • 原文地址:https://blog.csdn.net/m290345792/article/details/127980760