前言

在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的完整生命周期。如果你觉得对你有帮助,可以收藏下,免得下次找不到了。

简述Spring Bean生命周期相关推荐

  1. Spring5源码 - 07 Spring Bean 生命周期流程 源码解读02

    文章目录 Pre 通俗流程 finishBeanFactoryInitialization Pre Spring5源码 - 06 Spring Bean 生命周期流程 概述 01 接上文 通俗流程 下 ...

  2. Spring Bean默认配置为单实例 Spring Bean生命周期

    2019独角兽企业重金招聘Python工程师标准>>> Spring 的Bean默认的是单例的. 如果不想单例需要如下配置: <bean id="user" ...

  3. Spring框架:三种Spring Bean生命周期技术

    当使用术语"生命周期"时,Spring的家伙指的是您的bean的构造和破坏,通常这与Spring Context的构造和破坏有关. 在某些情况下,Bean生命周期的管理不是一件容易 ...

  4. Spring Bean生命周期: Bean的实例化

    [Spring Bean 生命周期系列]传送门 1.Spring Bean生命周期: Bean元信息的配置与解析阶段 2.Spring Bean生命周期: Bean的注册 3.Spring Bean生 ...

  5. Spring Bean生命周期过程

    Spring Bean生命周期过程 Spring Bean生命周期指的是Bean加载Spring容器的过程,单例的Bean与多例的Bean加载过程是不一样的.这里指的是单例Bean的加载过程. 图:S ...

  6. Spring Bean 生命周期之“我从哪里来”?懂得这个很重要

    Spring bean 的生命周期很容易理解.实例化 bean 时,可能需要执行一些初始化以使其进入可用 (Ready for Use)状态.类似地,当不再需要 bean 并将其从容器中移除时,可能需 ...

  7. Spring Bean生命周期:Bean的初始化阶段

    [Spring Bean 生命周期系列]传送门 1.Spring Bean生命周期: Bean元信息的配置与解析阶段 2.Spring Bean生命周期: Bean的注册 3.Spring Bean生 ...

  8. Spring5源码 - 06 Spring Bean 生命周期流程 概述 01

    文章目录 Bean生命周期概述 Demo finishBeanFactoryInitialization(beanFactory) 核心流程 Bean生命周期概述 说到Spring Bean的生命周期 ...

  9. spring bean生命周期_Spring中bean的生命周期和扩展点有哪些?

    前言 今天和大家分享一下Spring中Bean的生命周期的一些知识.先来说一下什么是生命周期吧,生命周期从其语义上理解就是一个对象从产生到销毁的整个过程,之所以把这个过程称为生命周期是因为其就像一个生 ...

最新文章

  1. sublime快捷键
  2. 为什么产品经理面试都喜欢问注册问题?
  3. webGIS(离线版)研究路线归总
  4. c语言数组前缀和,关于最大子数组问题
  5. Java游戏引擎libgdx的简介
  6. Java进阶:SpringMVC
  7. mysql select选择多列_数据库 update select 多列操作
  8. 模糊综合评价模型 ——第四部分,三级模糊综合评价模型应用:例题5,陶瓷厂六种产品销量的评判
  9. 质量管理体系文件分类
  10. 新知实验室基于腾讯云实时音视频WEB端实验
  11. 【首发】 ubuntu20.04安装matlab2021b/matlab2020b
  12. 40行代码的Python爬虫案例:虎牙-王者荣耀主播的人气排行
  13. STM32第一课(Keil, Type, macro)
  14. 一个教训:养成良好的编程习惯的重要性
  15. H264 FU-A解包分析
  16. 2018巅峰极客writeup(Misc)
  17. 求一组数的组合的和为一个值的所有情况
  18. linux 互信配置
  19. 14、事件类型(鼠标事件、键盘事件、触屏事件)
  20. 读《超级询问术》有感二

热门文章

  1. python定义一个list数据来源于变量_python基础知识4--数据类型与变量
  2. Java判断对象是否为空
  3. AidLux中正确使用Wayland的方式
  4. java mysql数据库中文乱码 编码修改教程
  5. postgresql字符串函数全集
  6. ununtu20.04系统中如何划词翻译_真正的桌面端全能翻译软件,随时随地划词翻译...
  7. 查询多个快递单号物流,快速筛选出延误一天的单号
  8. 打卡第六天:买卖股票的最佳时机 III
  9. 分布式服务框架学习笔记2 常用的分布式服务框架 与 通信框架选择
  10. 控制面板打开计算机管理,怎么打开电脑控制面板,打开电脑控制面板的方式