ean在Spring容器中从创建到销毁经历了若干阶段,每一阶段都可以针对Spring如何管理bean进行个性化定制。

正如你所见,在bean准备就绪之前,bean工厂执行了若干启动步骤。

我们对上图进行详细描述:

Spring对bean进行实例化;

Spring将值和bean的引用注入到bean对应的属性中;

如果bean实现了BeanNameAware接口,Spring将bean的ID传递给setBean-Name()方法;

如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入;

如果bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()方法,将bean所在的应用上下文的引用传入进来;

如果bean实现了BeanPostProcessor接口,Spring将调用它们的post-ProcessBeforeInitialization()方法;

如果bean实现了InitializingBean接口,Spring将调用它们的after-PropertiesSet()方法。类似地,如果bean使用initmethod声明了初始化方法,该方法也会被调用;

如果bean实现了BeanPostProcessor接口,Spring将调用它们的post-ProcessAfterInitialization()方法;

此时,bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁;

如果bean实现了DisposableBean接口,Spring将调用它的destroy()接口方法。同样,如果bean使用destroy-method声明了销毁方法,该方法也会被调用。

补充:
https://blog.csdn.net/lanzhupi/article/details/109606358

Spring框架中bean的生命周期相关推荐

  1. 【面试题】Spring框架中Bean的生命周期

    生命周期 1.实例化一个Bean--也就是我们常说的new一个对象: 2.按照Spring上下文对实例化的Bean进行配置--也就是IOC注入: 3.如果这个Bean已经实现了BeanNameAwar ...

  2. 再见面试官:你能说说 Spring 框架中 Bean 的生命周期吗?

    首先简单说一下(以下为一个回答的参考模板) 1.实例化一个Bean--也就是我们常说的new: 2.按照Spring上下文对实例化的Bean进行配置--也就是IOC注入: 3.如果这个Bean已经实现 ...

  3. 阐述Spring框架中Bean的生命周期?

    ① Spring IoC容器找到关于Bean的定义并实例化该Bean. ② Spring IoC容器对Bean进行依赖注入. ③ 如果Bean实现了BeanNameAware接口,则将该Bean的id ...

  4. IoC基础篇(一)--- Spring容器中Bean的生命周期

    IoC基础篇(一)--- Spring容器中Bean的生命周期 日出日落,春去秋来,花随流水,北雁南飞,世间万物皆有生死轮回.从调用XML中的Bean配置信息,到应用到具体实例中,再到销毁,Bean也 ...

  5. 面试问题:Spring中Bean 的生命周期

    Spring Bean生命周期执行流程 在传统的 Java 应用中,Bean 的生命周期很简单,使用关键字 new 实例化 Bean,当不需要该 Bean 时,由 Java 自动进行垃圾回收. Spr ...

  6. Spring 中 Bean 的生命周期

    本文作者: 伯乐在线 - yemengying 智商捉鸡?,实在没办法一下子理解Spring IoC和AOP的实现原理,看的闹心也不太懂,所以...决定拆成小的不能在小的一个个问题,一点点啃.今天先来 ...

  7. 如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章

    前言 当你准备去复习Spring中Bean的生命周期的时候,这个时候你开始上网找资料,很大概率会看到下面这张图: 先不论这张图上是否全面,但是就说这张图吧,你是不是背了又忘,忘了又背? 究其原因在于, ...

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

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

  9. (十)Spring中Bean的生命周期(下)

    Spring官网阅读(十)Spring中Bean的生命周期(下) 在上篇文章中,我们已经对Bean的生命周期做了简单的介绍,主要介绍了整个生命周期中的初始化阶段以及基于容器启动停止时LifeCycle ...

最新文章

  1. 图形处理相关资源(面部识别、姿态估计、变形、、、)
  2. c语言从集合中随机选取一个值,从集合中挑选一个随机元素
  3. java post请求 json_好程序员Java教程分享Vue插件之Axios
  4. Oracle用 odp.net 时出现 Oracle.DataAccess.Client.OracleConnection的类型初始值设定项引发异常 问题的解决...
  5. 1.原生js封装的获取某一天是当年的第几周方法
  6. Cordova+Ionic之坑
  7. 【cocos2d-x从c++到js】08:JS脚本语言的优势与一些问题
  8. 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?
  9. 产业链人士:存储芯片平均售价有望在明年一季度停止下滑 随后趋于稳定
  10. [算法 笔记]2014年 去哪儿网 开发笔试题
  11. noi 8462 大盗阿福
  12. Mac 下的破解版软件真的安全吗?
  13. 升级MacOS Big Sur之后VMware Fusion各种问题解决
  14. mybatis java事务_Mybatis事务处理
  15. 一条SQL返回多个统计求和
  16. 维生素C片剂市场现状及未来发展趋势
  17. 31 家企业入选阿里云首期云原生加速器,共建云原生行业新生态
  18. 年底不要慌,这个EXCEL模板帮你打赢Q4收官战
  19. 山水印|竹林野茶:你喝过的茶,都写在了脸上
  20. PTA乙级-1061 判断题-C语言版

热门文章

  1. Django 的操作
  2. 值传递、指针传递、引用传递的区别
  3. mysql全量和增量备份脚本
  4. FreeBSD配置防火墙开启SSH服务
  5. 【转载】如何使用STM32的窗口看门狗
  6. PHP中session的工作原理
  7. 修改远程桌面端口号3389
  8. 在CentOS7上编译GreenPlum5.3.0
  9. jQuery 事件对象的属性
  10. fastjson 对象和json互转