SpringBean的生命周期

SpringBean生命周期详解 SpringBean生命周期详解 一、简述: Spring是我们每天都在使用的框架,Bean是被Spring管理的Java对象,是Spring框架最重要的部分之一,那么让我们一起了解一下Spring中Bean的生命周期是怎样的吧 二、流程图 我们先从宏观的角度看一下Spring的生命周期: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201028174058916.png?x-oss-process=image/watermark,t ype_ZmFuZ3poZW5 阅读详情

SpringBean的生命周期

1 启动spring容器,就是创建beanFactory工厂,就是applicationcontext,通过applicationcontext加载配置文件,或者利用注解将bean加载到spring容器里面
2 加载之后,spring容器会对这些bean进行封装,封装成beandefinition对象,就是普通的java对象上再封装一层,赋予spring框架需要用到的属性,比如是否单例,是否懒加载
3 将这些beandefinition对象以kye为beanname,值为beandefinition对象的形式存入到map里面,将这个map传入到spring beanfactory去进行springbean的实例化
4 传入到spring beanfactory之后,利用beanfactoryPostProcessor接口去对beandefinition对象进行一些修改
5 开始循环beandefinition对springbean的实例化,就是执行bean的构造方法(单例bean放入单例池,但是此刻还未初始化),
在执行实例化的前后,可以通过instantiationAwareBeanPostProcessor扩展点对bean进行修改
6 springbean实例化之后,就开始注入属性,比如标注@autoware的属性,再调用各种aware接口扩展方法,注入属性,比如beanaNameAware.setName,设置bean的id或者name
7 初始化bean,对各项属性赋值,初始化前后执行beanPostProcessor扩展方法,对bean进行修改
初始化前后除了beanPostProcessor扩展点还有其他扩展点,例如:
1 初始化前 postProcessBeforeInitialization()
2 执行构造方法之后 执行@postConstruct方法
3 所有属性赋初始化值之后 afterPropertiesSet()方法
4 初始化 配置文件中指定的init-method方法
5 初始化后 postProcessAfterInitialization()

	先执行BeanPostProcessor扩展点的前置方法postProcessBeforeInitialization(),
	再执行bean本身的构造方法
	再执行@PostConstruct标注的方法
	所有属性赋值完成之后执行afterPropertiesSet()
	然后执行 配置文件或注解中指定的 init-method 方法
	最后执行BeanPostProcessor扩展点的后置方法postProcessAfterInitialization()

8 此时已完成bean的初始化,在程序中就可以通过spring容器拿到这些初始化后的bean
9 随着容器销毁,springbean也会销毁,销毁bean之前,会执行@PreDestroy的方法,销毁时,执行配置文件中指定的 destroy-method方法

综上所述,其实就是根据配置文件或者注解信息,生成beanDefinition对象,循环beanDefinition去实例化bean
-> 注入/填充属性 -> 初始化前(@postConstruct) -> 初始化(afterPropertiesSet()) -> 初始化后(是否要AOP) -> 销毁

使用Xpath语法爬取豆瓣读书Top250 使用Xpath语法爬取豆瓣读书Top250 使用的软件是Spyder 网页地址:https://book.douban.com/top250?start=0 直接上代码: # -*- coding: utf-8 -*- """ Created on Thu Apr 30 18:35:17 2020 @author: ASUS """ import requests import csv fr... 阅读详情

相关推荐

【pprof】简要学习教程

基本介绍 pprof 是在做性能优化前的性能分析工具。 安装: go get -u github.com/google/pprof 分析工具 go tool pprof 是命令行指令,用于分析 Profiling 数据,源数据可以是 http 地址,也可以是已经 dump 下当 profile 文件;查看模式可以命令行交互模式,也可以是浏览器模式(-http 参数)。 两种应用 服务型应用 _ "net/http/pprof" 包,专用于采集 web 服务 运行数据的分析。即在运行的服务中通过 API .

码农印象 883

springbean的生命周期_一步一步,带你了解SpringBean的生命周期

推荐阅读:Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC一个SpringBoot问题就干趴下了?我却凭着这份PDF文档吊打面试官.SpringBean的生命周期在面试中,我们经常会被问到一个问题,就是SpringBean的生命周期。用大白话说,就是说其在创造到销毁按顺序调用了什么方法,在我刚开始学了,一般就是对着标准答案去硬背,完全不了...

weixin_39596975的博客 103

【学习K230-例程46】GT6700-UVC摄像头

UVC模块提供了USB摄像头的检测、配置和图像采集功能,支持单摄像头操作。本实验通过开发板上的USB接口连接摄像头,将摄像头捕获到的画面显示在显示设备上。print(f"模式{i}: {mode.width}x{mode.height} {mode.format}@{mode.fps}fps")print(f"摄像头检测: {‘已连接’ if plugin else ‘未连接’}, 设备信息: {devinfo}")检测系统是否连接了USB摄像头(当前仅支持单个摄像头检测)。获取摄像头支持的所有视频模式。

GilgameshJSS的博客 806

SpringBean生命周期

SpringBean声明周期

qq_44863031的博客 531

怀旧党必备!用iPhone4s重温iOS6的保姆级教程(含游戏资源包)

本文提供了一份详细的iPhone4s降级至iOS6.1.3的保姆级教程,包括设备准备、越狱操作、系统降级及资源优化全流程。通过自制固件和越狱工具,用户可以重温经典的拟物化设计和流畅体验,同时获取经典游戏资源包,打造复古游戏神器。

nft7creator的博客 879

鼎捷T100——二次开发:维护作业添加非实体字段

非实体字段添加

weixin_52342654的博客 1159

《面试1v1》SpringBean生命周期

候选人:23.SpringBean生命周期

JavaPub 1404

控制算法研发工程师(博士)职位深度解析与面试指南

摘要:广东万和新电气股份有限公司招聘控制算法研发工程师(博士),工作地点佛山顺德。职位要求2026届博士学历,电子信息工程或控制科学与工程专业。主要职责包括:1)燃气热水、热泵等系统的电控软件设计与优化;2)开发PID、模糊控制、ADRC、MPC等智能算法,应用于恒温控制、变频调节等场景。重点考察算法研发能力、系统稳定性优化及嵌入式实现经验。该职位提供三年资深工程师培养计划,需具备扎实的控制理论基础和工程实践能力,能够处理非线性系统、多工况自适应等复杂控制问题。

郑伟强dev的专栏 139

springBean生命周期

一、springBean的生命周期 1、 启动spring容器,也就是创建beanFactory(bean工厂), 一般用的是beanFactory的子类applicationcontext, applicationcontext比一般的beanFactory要多很多功能,比如aop、事件等。 通过applicationcontext加载配置文件,或者利用注解的方式扫描将bean 的配置信息加载到spring容器里面。 2、 加载之后,spring容器会将这些

zhangCheng的博客 2万+

osg点云加载与渲染

osg点云加载与渲染

cangqiongxiaoye的博客 821

【AI智能体】QClaw 对接GitHub处理自动化任务实战操作详解

QClaw 对接GitHub处理自动化任务实战操作详解

congge 4869

SpringBean的生命周期详解

在Spring生态环境中,SpringBean是除了IoC、AOP两个核心概念之外另一个重要概念,同时SpringBean的生命周期也是面试现场中的常客,而这一概念在Spring中又是零星分散在容器的各个阶段(源码的各个类中),查询起来比较复杂。因此,这里对SpringBean的生命周期进行一系列的总结,以供参考。

qq_43408971的博客 764

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

SpringBean的生命周期,以及怎么记忆

SpringBean的生命周期,以及怎么记忆

不定时分享最优质的网络技术与教程,满满的干货。 314

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringBean生命周期之五、七、十步(详解)

本文讲解的是Bean的生命周期,五步、七步、十步剖析,从理论到代码,解析!

tq02的博客 1595

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: CachingOperationNameGenerator
下一篇: pgsql 删除任意重复行
drop table
博客等级 码龄9年 14粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值