面试官:说下spring生命周期 程序员:不会 那你先回去等消息吧

Spring进阶(十六)之spring生命周期 spring生命周期详解,高手必看 阅读详情

Bean实现了BeanNameAware,Spring会将Bean的ID透传给setBeanName

java、后端开发、程序员、spring

经常被面试问到的题目之一

面试失败经历

面试官:请介绍一下Spring框架中Bean的作用域及生命周期?

程序汪汪:不知道

面试官:你工作好多年了,(嫌弃的眼神)那你可以回去等电话

Spring框架中Bean的5个作用域

singleton单例:是spring默认缺省的,全局只有一个对象。

prototype原型:每次都是新的Bean实例,有状态的Bean建议用此类型。

request:一次Http请求中,容器返回同一实例Bean,仅在当前Http Request内有效

session:一次Http Session中,容器返回同一实例Bean,仅在当前Session内有效。

global session:一个全局的Http Session中,容器返回同一个实例Bean。

13467292-ef35d158c7391805

很多程序员开发,很可能都没注意Bean竟然有这么多种作用域,其实实际项目一般就前面2种会涉及到,但面试官喜欢问。

Bean的生命周期

我多找几个比较好的图,大家对比着理解理解

13467292-5728d78c5f900334

好多接口好多方法啊,来我们分个类

Bean自身的方法:的init-method和destor-method方法

Bean级生命周期接口方法:包含了BeanNameAware、BeanFacotyAware、InitialiZingBean和DisposableBean 接口方法

Spring容器生命周期接口方法:有BeanPostProcessor"后处理器"

13467292-6d05a9c10d41ed36

bean对象实例化,默认Bean作用域singleton

Spring对bean进行依赖注入

Bean实现了BeanNameAware,Spring会将Bean的ID透传给setBeanName

Bean实现了BeanFacotryAware或ApplicationContentAware,Spring会调用设置工厂setBeanFatory方法并将BeanFacoty实例透传进来,或SetApplicationContext方法被调用,Spring将应用上下文引用透传到Bean里。

Bean实现了BeanPostProcessor(后处理),bean的postProcessBeforeInitialization方法会被执行

Bean实现了InitializingBean,bean的afterPropertiesSet方法 就会被调用

初始化方法init

BeanPostProcessor(后处理),执行postProcessAfterInitialization

这时Bean准备就绪,可以执行业务逻辑被服务方调用了,Bean会一直存活在应用上下文中,直到应用上下文被销毁。

Bean实现DisposableBean,spring将执行destory方法

指定销毁方法 destroy

实战开发中Bean很少都去实现上面的全部接口,一般最多init-method、destroy-method

BeanNameAware源码

BeanFactoryAware源码

13467292-b2b5360e056c094c

ApplicationContextAware源码

13467292-271025219ee30059

BeanPostProcessor源码 【before/after】

13467292-40ea82bfc46bd770

InitializingBean源码

13467292-48bae384de6148ea

DisposableBean源码

13467292-2d3c137c896972c7

Spring源码

13467292-16639c4b80d77d3c

最后送波福利。现在加群即可获取Java工程化、高性能及分布式、高性能、高架构、zookeeper、性能调优、Spring、MyBatis、Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限及相关视频资料,群号:835638062 点击链接加入群聊【Java高级架构学习交流】:https://jq.qq.com/?_wv=1027&k=5S3kL3v

《Spring面试秘籍:金三银四这样答,面试官抢着要(一)》 备战金三银四求职季,Spring面试如何脱颖而出?本文精选经典Spring面试题,从中级程序员、高级程序员视角给出口语化回答。无论你是想在面试中崭露头角,还是深入掌握Spring知识,这篇秘籍都将助你一臂之力,轻松征服面试官,开启职业新征程! 阅读详情

相关推荐

互联网大厂Java求职面试实录:严肃面试官VS搞笑程序员明哥

互联网大厂的Java岗位面试现场,面试官严肃冷静,程序员明哥幽默风趣。明哥在简单问题上能回答准确,面试官不吝赞美;复杂问题时则胡乱回答,场面既紧张又搞笑。

优快云_LiMingfly的博客 457

【Spring】——Spring生命周期

❤️❤️❤️前面我们讲完了Spring中有关Bean的读和取,我们还没有还好去了解了解Bean对象,这篇 就是对Bean的深入学习。

冷兮雪的博客 1万+

面试官:Spring refresh过程是怎样的?

embeddedValueResolvers 即内嵌值解析器,用来解析 @Value 中的 ${ },借用的是 Environment 的功能。BeanFactory 的作用是负责 bean 的创建、依赖注入和初始化,bean 的各项特征由 BeanDefinition 定义。BeanDefinition 作为 bean 的设计蓝图,规定了 bean 的特征,如单例多例、依赖关系、初始销毁方法等。

Java全能学习+面试指南 957

spring的生命周期

一 生命周期步骤 bean被载入到容器中时,他的生命周期就开始了: 1、容器寻找bean的定义信息并实例化。 2、使用依赖注入,spring按bean定义信息配置bean的所有属性。 3、若bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递bean的ID。 4、若bean实现了BeanFactoryAware接口,工厂调用setBeanFa

实践求真知 1555

用Python玩转Iris数据集:从数据加载到可视化分析的完整指南

本文提供了使用Python处理Iris数据集的完整指南,涵盖数据加载、探索性分析、特征工程和可视化呈现等关键步骤。通过Pandas、NumPy、Matplotlib和Seaborn等工具,读者将学习如何从零开始完成一个机器学习项目的数据分析流程,掌握数据科学的核心技能。

j2k3l4的博客 850

单总线协议(1—Wire bus)【DS2431】

1—Wire 协议定义了复位脉冲、 应答脉冲、写0、写1、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化ROM 命令功能命令)都是由这些基本的信号类型组成的。识别单总线器件(ROM 命令)单总线器件交换数据(功能命令)初始化单总线器件(初始化)

qq_41883039的博客 1147

Spring 生命周期详解:从初识到精通

要了解 Spring生命周期,我们需要分别了解 Spring 程序启动过程以及 Spring Bean的生命周期。下面开始详细介绍。在本文中,我们首先介绍了 Spring Bean 的生命周期,并学习了 Bean 生命周期中的各个阶段。

weixin_45766780的博客 3498

介绍七种常见还危险的病毒(带样本)

简介:能够感染用户计算机bai系统中的.exe、.dll和.html文件,将自身加密以后缀加到目标文件中。样本(源文件):https://wwx.lanzoux.com/iJx4njrpz1c / https://wwx.lanzoui.com/iYRNLwd8ldc。英文名称:Virus.Win32.Viking.A(标准) / Worm.Win32.Fujack.A(标准)英文名称:Net-Worm.Win32.Blaster.A(标准)/ Lovesan.A/ Msblast.A。

2301_78858007的博客 8413

Spring介绍

Spring是一个开放源代码的设计层面框架,解决业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。 Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

m0_38033199的博客 2557

锐捷交换机配置SSH

锐捷交换机配置ssh 一、组网需求 通过ssh功能可以远程登录管理设备 二、配置步骤 全局开启ssh服务,并且指定ssh版本 Ruijie>enable Ruijie#configure terminal Ruijie(config)#enable service ssh-server ------>开启SSH服务,默认关闭 Ruijie(config)#ip ssh version 2 ------>默认1.99版本,设置为版本2 添加登

Loners_fan的博客 1万+

YOLO11涨点优化:训练技巧 | 使用标签平滑(Label Smoothing)配合余弦退火学习率,防止过拟合,稳步提点

摘要: YOLO11凭借动态卷积核调度、自适应特征融合等创新成为2026年目标检测主流,但面临训练集过拟合问题。文章聚焦两种零推理开销的正则化技巧:标签平滑(Label Smoothing)和余弦退火学习率(Cosine Annealing LR)。标签平滑通过软化硬标签(如将[1,0]改为[0.9,0.1])防止模型过度自信,代码中通过label_smoothing=0.1一键启用;余弦退火则以平滑的余弦曲线调整学习率(cos_lr=True),避免阶梯衰减的震荡。两者组合可显著缩小YOLO11训练与验证

2601_95807009的博客 45

2016年末:面试官问关于Spring工作原理的问题

Spring工作原理 内部最核心的就是IOC了,   动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射   反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置   文件来动态的创建对象,和调用对象里的方法的 。     Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和

weide_java的博客 387

Manus创始人深度复盘:AI Agent产品的技术架构与战略转型

成本对比:同样任务处理,中国区单位成本是亚太区的2.3倍。付费转化率:中国区1.2% vs 全球平均4.7%微信/支付宝等超级App的适配代码占比达17%Zstandard:压缩比38%,耗时12ms。每季度需要投入3名高级工程师专职维护兼容性。国际版API平均延迟:180-220ms。中国版特殊部署延迟:480-720ms。信息保持准确率:93%(7天跨度测试)自研算法:压缩比39%,耗时5ms。存储效率:相比纯文本节省68%空间。:本地化部署导致的延迟与费用差异。LZ4:压缩比42%,耗时8ms。

m0_75253143的博客 7146

如果你不懂Spring,那么大厂面试官也不会懂你为什么敢来面试?

面试官:看你简历写的不错,先简单自我介绍下?我:大佬好!我是小程,工作时长两年半,目前负责在公司打杂,啊不,负责维护公司的两个项目…面试官:hmmm,你们项目中Spring用的多么?我:还可以,基本上都用得到。(平时都是百度着用用啊)面试官:那你讲讲使用Spring的AOP具体是指什么?我:(这个我背过答案!)AOP是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可扩展性和可维护性。面试官:嗯,理解的很棒啊,那你知道

Javaseo996的博客 357

人形机器人新产品导入(NPI)工艺工程师的角色与技术解析

本文系统解析人形机器人NPI工程师的核心职责与能力要求。主要内容包括:1)NPI工程师需主导装配工艺设计、样品试做及问题闭环,涉及公差分析(如尺寸链计算)、工艺评审与FMEA应用;2)要求输出完整工艺文档体系,并跟踪试产至量产全过程;3)任职资格强调3年以上机器人/智能制造行业经验,掌握SPC、公差计算等质量工具,熟悉点胶/焊接等工艺及特殊材料特性;4)通过实际案例展示关节精度优化、新物料验证等典型工作场景;5)提供基于职责的面试问题及技术性解答方案。文章聚焦技术细节,为从业者提供实用参考框架。

郑伟强dev的专栏 381

BevFusion (1): 传感器介绍

激光雷达,也称光学雷达(LIght Detection And Ranging)是激光探测与测距系统的简称,它通过测定传感器发射器与目标物体之间的传播距离,分析目标物体表面的反射能量大小、反射波谱的幅度、频率和相位等信息,从而呈现出目标物精确的三维结构信息。激光雷达是自动驾驶车辆的关键传感器,如下图所示,车辆上方旋转的圆柱体对应就是激光雷达传感器。

@bangbang的博客 1475

“你先回去等通知吧”

面试官:看你简历写的不错,先简单自我介绍下?我:大佬好!我是小程,工作时长五年半,喜欢唱、跳、rap,打篮球,目前负责在公司打杂,啊不,负责维护公司的两个项目…面试官:hmmm,看你简历...

程序员小灰的博客 1204

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

大厂Java面试实录:严肃面试官VS水货程序员蒋小鹏的爆笑对决

你好,蒋小鹏,欢迎参加我们公司的Java开发工程师面试。我们先从基础开始,请你简单介绍一下HashMap的工作原理。:HashMap啊,这个我知道!就是把东西往里面一放,然后要用的时候再拿出来。就像我家的抽屉,乱七八糟的东西都往里塞,找的时候翻半天...:(皱眉)能具体说说put和get方法的实现原理吗?包括哈希冲突的处理。:哈希冲突?哦哦,就是两个人抢同一个厕所的意思吧?那就排队等着呗,或者去找别的空厕所...

m0_48870826的博客 1542

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

互联网大厂Java求职者面试实录:严肃面试官 vs 搞笑水货程序员谢飞机

谢飞机,一个略显水货但充满热情的Java程序员,来到一家互联网大厂参加面试。面试官严肃且专业,提问涉及Java核心知识、JUC、JVM、多线程、线程池、HashMap、Spring、SpringBoot、MyBatis、Dubbo、RabbitMQ、xxl-job、Redis、MySQL、Linux、Docker、设计模式、DDD等技术。

weixin_46755643的博客 1146

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

互联网大厂Java面试实录:严肃面试官VS搞笑程序员小明

面试场景设定:互联网大厂Java开发岗位面试,严肃的面试官与风趣幽默、但技术水平参差不齐的程序员小明展开对话。

m0_75005137的博客 513

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

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析...

weixin_44421461的博客 154

互联网大厂Java面试官与水货程序员谢飞机的面试对话录

本文以一个真实的互联网大厂Java求职面试为背景,讲述了严肃的面试官与搞笑的水货程序员谢飞机在三轮提问中的对话,涵盖核心Java到分布式系统等多个关键技术领域,最后附详细技术答案解析,适合Java初学者学习。

m0_58504029的博客 521

互联网大厂java求职面试实录:严肃面试官VS搞笑水货程序员谢飞机

在一场互联网大厂的Java开发岗位面试中,严肃的面试官和搞笑的水货程序员谢飞机展开了一段有趣却技术含量满满的对话。面试围绕Java核心知识及相关技术栈展开,涵盖JUC、JVM、多线程、线程池、HashMap、ArrayList、Spring、SpringBoot、MyBatis、Dubbo、RabbitMQ、xxl-job、Redis、MySQL、Linux、Docker、设计模式、DDD等多个领域。

m0_73524257的博客 845

互联网大厂Java面试实录:严肃面试官VS搞笑水货程序员谢飞机

在互联网大厂的面试现场,严肃的面试官对求职者谢飞机展开了层层技术考察。谢飞机是个性格搞笑但技术水平参差不齐的程序员,下面是他们的3轮对话。

weixin_41157374的博客 492

spring处理循环依赖时序图_如果你不懂Spring,那么大厂面试官也不会懂你为什么敢来面试?...

你先回去等通知面试官:看你简历写的不错,先简单自我介绍下?我:大佬好!我是小程,工作时长两年半,目前负责在公司打杂,啊不,负责维护公司的两个项目…面试官:hmmm,你们项目中Spring用的多么?我:还可以,基本上都用得到。(平时都是百度着用用啊)面试官:那你讲讲使用Spring的AOP具体是指什么?我:(这个我背过答案!)AOP是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或...

weixin_39719729的博客 119

3 年Java经验,面试官说我源码/调优/分布式/微服务都不会,来面试?

3 年开发经验的程序员,项目经验丰富,功底扎实,理应在招聘市场上备受追捧,然而,就在上个月,有一位履历相当不错的朋友,并不是。这位朋友言辞中有些惭愧:面试官已经给了一些提示,但无奈自己准备得不充分,回答很不理想。他没想到,,面试官会问的这么深入。“如果平时多注意积累总结就好了!的确,刚参加工作时,大家都会投入极大的精力。前段时间在网上和一位资深架构师聊到,像考核工作 2 年以上经验的技术人时,他希望候选人不要只停留在“会干活” 的层面,还要更注重考查其“解决问题”的能力。

the shy 490
上一篇: 一个程序员如何能成为一名资深阿里P7架构师?
下一篇: Java架构师思维导图,上面技术全部掌握,年薪没50w,你来打我
普通网友
博客等级 码龄8年 55粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值