Spring Bean的生命周期(一图看懂bean生命周期)
Bean的生命周期概括起来有四个阶段:
实例化 -> 属性赋值 -> 初始化 -> 销毁
具体如下图所示:
- 1、实例化
实例化一个Bean,即new
。 - 2、IOC依赖注入
按照Spring上下文对实例化的Bean进行配置。 - 3、setBeanName实现
如果这个Bean已经实现了BeanNameAware
接口,就会调用它实现的setBeanName(String)
方法,此处传递的是Spring配置文件中Bean的id值。 - 4、setBeanFactory实现
如果这个Bean实现了BeanFactoryAware
接口,会调用它实现的setBeanFactory(BeanFactory)
方法,传递的是Spring工厂自身。 - 5、setApplicationContext实现
如果这个Bean实现了ApplicationContextAware
接口,会调用它实现的setApplicationContext(ApplicationContext)
方法,传递的是Spring的上下文。 - 6、postProcessBeforeInitialization实现-初始化预处理
如果这个Bean实现了BeanPostProcessor
接口,将会调用它实现的postProcessBeforeInitialization(Object obj,String s)
方法。BeanPostProcessor
被用作Bean内容修改,并且由于这个是在Bean初始化结束的时候调用的这个方法,也可以被用于内存或缓存技术。 - 7、init-method
如果这个bean在Spring配置文件中配置了init-method
属性,会自动调用其配置的初始化方法。 - 8、postProcessAfterInitialization
如果这个Bean实现了BeanPostProcessor
接口,将会调用它实现的postProcessAfterInitialization(Object obj,String s)
方法。
以上工作完成以后就可以应用这个Bean了。 - 9、Destory过期自动清理
当Bean不再需要时,如果这个Bean实现了DisposableBean
这个接口,会调用其实现的.destory()
方法。 - 10、destory-method
如果这个bean在Spring配置文件中配置了destory-method
属性,会自动调用其配置的销毁方法。
Spring Bean的生命周期(一图看懂bean生命周期)相关推荐
- 一张图看懂React生命周期
2019独角兽企业重金招聘Python工程师标准>>> 一.创建时 componentWillMount 初始化组建,render方法之前执行,官方不建议做数据请求 componen ...
- 一张图看懂Bean的实例化过程
实例化 bean 对象,类似于 new XXObject() 将配置文件中配置的属性填充到刚刚创建的 bean 对象中. 检查 bean 对象是否实现了 Aware 一类的接口,如果实现了则把相应的依 ...
- 一张图看懂微服务架构路线
目录 一张图看懂微服务架构路线 我为什么选择微服务架构? 微服务架构路线 基本思路 Docker 容器编排 Docker 容器管理 API网关 负载均衡 服务发现 事件总线 日志记录 监控和警报 分布 ...
- 一张脑图看懂BUI Webapp移动快速开发框架【上】--框架与工具、资源
前言 之前写过一篇 2018开发最快的Webapp框架--BUI交互框架 ,如果你还没看过,可以简单看一下,主要介绍了BUI的基本功能,有多少控件,以及实现的思路,BUI 1.5版本以后变化很大,统一 ...
- sdn体系的三个平面_十张图看懂SDN与NFV的区别与联系?
原标题:十张图看懂SDN与NFV的区别与联系? 专业的人说的很准确但是普通人难以理解,常常记不住,分不清,不专业的人往往又说的差点意思.无意间,笔者在领英上看到一个介绍SDN/NFV区别的公开文档,内 ...
- 一篇文章一张思维导图看懂Android学习最佳路线
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...
- 一张图看懂图像识别算法发展历史
一张图看懂图像识别算法发展历史
- 一图看懂新一代人工智能知识体系大全
来源:财经头条 摘要:人工智能的发展离不开基础支持层和技术层,基础支持层包括大数据.计算力和算法:技术层包括计算机视觉.语音识别和自然语言处理.人工智能的技术本质是什么,本文会详细分析. 人工智能的发 ...
- 一图看懂windows11新功能
[欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 微软Windows 11操作系统还没有正式推出,不过加入"预览体验计划"可以抢先体 ...
- 一图看懂hadoop分布式文件存储系统HDFS工作原理
一图看懂hadoop分布式文件存储系统HDFS工作原理 转载于:https://www.cnblogs.com/AlexQY/p/9856477.html
最新文章
- Kubernetes — 容器设计模式
- java多线程基本概述(二十)——中断
- CXF之webservice
- 爨底下-双龙峡,凑合的一日游
- 如何让Excel里显示的数字避免通过科学计数法来显示
- linux 内核编译速度,内核编译之后的运行速度
- 重定义 UIImagePickerController
- uniapp/vue 组件之间的传值
- 总结(6)--- python基础知识点小结(细全)
- Dataset:智慧中国杯—全国大数据创新应用大赛七个数据集简介、下载之详细攻略
- 网页里添加Skype、WhatsApp及时聊天窗口
- Ubuntu 18.04及几款应用的安装
- echarts 时间曲线图_web前端显示设备实时温度,ECharts实现温度折线图,实时动态温度曲线图生成...
- java读取控制台输入_如何使用Java中的Scaner类从控制台读取输入?
- 编写程序计算两个矩阵之和。
- Web大学生网页作业成品 基于HTML+CSS+JavaScript-----苹果商城Apple商城 8页 三级带视频
- 欢迎来到WebGPU的世界
- 大伙帮我一起来看看这个数据库的题目
- Intellij或者pycharm的缓存目录很大,如何从C盘移动出去?
- matlab中信赖域法,第8讲信赖域方法.ppt
热门文章
- 慕课《算法分析与设计》山东财经大学李恒武,第二章算法分析 测验题问题梳理答案
- 【手册】Linux User's Manual
- 基于STM32F103完成对SD卡的数据读取操作
- IDEA炫酷主题推荐!非常好看!
- 草料二维码 批量生成二维码
- 某公司电子商务网站策划方案
- mysql sql语句 参数化_参数化SQL语句
- 计算机画cad很慢怎么办,【2人回答】画CAD图时电脑很卡怎么办?-3D溜溜网
- 计算机考试操作步骤,全国计算机等级考试网报操作流程
- qq空间把android改成iphone,qq空间改iPhone6 Plus方法 qq空间改手机型号教程