发布时间:2026/8/10 23:20:33
SpringBoot:全套生命周期全景详解/应用级+Bean级 SpringBoot 生命周期分为两大核心体系SpringBoot 应用启动生命周期全局容器启动流程、Spring Bean 生命周期单个对象创建销毁流程。日常开发、面试高频考察本文全程阶段拆解、配套钩子、注解、执行顺序与避坑点全景梳理无遗漏。一、核心概念区分必懂很多开发者容易混淆两个生命周期二者层级完全不同应用级生命周期整个 SpringBoot 项目从启动初始化 → 容器就绪 → 运行中 → 停止销毁的全局流程控制整个项目的启动与销毁。Bean级生命周期Spring 容器中单个 Bean 对象从实例化、属性填充、初始化到销毁的完整流程只针对单个业务对象。二、SpringBoot 应用全局生命周期7大核心阶段SpringBoot 启动全程由SpringApplication驱动通过SpringApplicationRunListener监听7个固定生命周期阶段贯穿项目启动到运行、失败全流程。应用生命周期完整阶段清单阶段触发时机核心作用常用扩展方式starting项目刚启动容器未初始化最早期启动回调可做启动日志、全局初始化标记自定义 RunListenerenvironmentPrepared环境变量、配置文件加载完成上下文未创建读取/修改配置、激活环境、配置加密解密EnvironmentPostProcessorcontextPreparedSpring 上下文创建完成未加载 Bean上下文前置预处理注册工具类、前置组件ApplicationContextInitializercontextLoaded所有 Bean 加载完成未刷新容器Bean 加载后、容器刷新前的自定义处理自定义监听器started容器刷新完成、内嵌服务器启动完毕项目启动成功启动成功后执行业务初始化初始化缓存、定时任务ApplicationRunner / CommandLineRunnerrunning项目完全就绪对外提供服务常驻运行接收客户端请求无自定义扩展系统自动维持failed项目启动异常终止异常日志记录、告警、资源兜底释放自定义失败监听器应用启动关键扩展接口执行顺序面试高频启动优先级从早到晚环境预处理 → 上下文初始化 → Bean加载 → 启动后置执行1、EnvironmentPostProcessor最早修改配置环境2、ApplicationContextInitializer上下文初始化3、Bean 生命周期全程所有 Bean 实例化、初始化4、ApplicationRunner/CommandLineRunner启动成功最后执行三、Spring Bean 完整生命周期9步标准流程SpringBoot 完全沿用 Spring IoC 的 Bean 生命周期是开发中最常用、最核心的生命周期包含实例化、属性填充、Aware 回调、前置后置处理、初始化、销毁全流程。Bean 生命周期标准执行顺序扫描解析 → 实例化 → 属性填充 → Aware接口 → 前置处理 → 初始化 → 后置处理 → 就绪使用 → 销毁阶段执行内容对应注解/接口核心用途1. 扫描解析Spring 扫描 Component/Bean生成 BeanDefinition无确定需要管理的 Bean2. 实例化通过反射调用构造方法创建对象无生成空对象实例3. 属性填充自动装配、Value、依赖注入赋值Autowired、Value给 Bean 注入属性与依赖4. Aware 接口回调依次回调各类 Aware 感知方法BeanNameAware、BeanFactoryAware、ApplicationContextAware让 Bean 感知自身名称、工厂、上下文5. 前置初始化处理BeanPostProcessor 前置处理BeanPostProcessor.before初始化前统一增强处理6. 初始化方法执行优先级注解 接口 配置初始化PostConstruct → InitializingBean → init-methodBean 自定义初始化逻辑7. 后置初始化处理BeanPostProcessor 后置处理AOP 代理在此生成BeanPostProcessor.afterBean 增强、代理生成核心阶段8. 就绪可用Bean 完成所有流程放入单例池对外提供服务无业务正常调用9. 销毁项目关闭时执行销毁逻辑PreDestroy → DisposableBean → destroy-method释放连接、关闭线程、清空资源初始化/销毁 优先级必考重点初始化优先级从高到低 PostConstruct 注解 InitializingBean 接口 xml/注解指定 init-method销毁优先级从高到低 PreDestroy 注解 DisposableBean 接口 xml/注解指定 destroy-method四、Web 专属生命周期Servlet 三大组件SpringBoot Web 项目额外包含 Servlet 原生生命周期针对请求、会话、上下文层级管理。1. ServletContext 生命周期全局项目级服务器启动初始化 → 运行常驻 → 服务器关闭销毁2. Session 生命周期用户会话级用户首次访问创建 → 会话存续 → 超时/主动销毁3. Request 生命周期单次请求级请求进入创建 → 业务处理 → 响应结束立即销毁五、四大生命周期全景汇总表极简记忆版生命周期类型管理范围核心阶段开发常用钩子SpringBoot 应用生命周期整个项目启动→环境准备→容器准备→Bean加载→启动完成→运行→失败ApplicationRunner、RunListenerSpring Bean 生命周期单个 Bean 对象实例化→赋值→感知→初始化→使用→销毁PostConstruct、PreDestroyServletContext 生命周期全局 Web 容器容器启动初始化、全局销毁ServletContextListenerRequest/Session 生命周期请求/用户会话创建、存续、销毁过滤器、拦截器六、高频开发与面试总结SpringBoot 最核心的两个生命周期应用启动生命周期 Bean 生命周期其余为 Web 场景扩展。Bean 初始化首选注解优先使用PostConstruct简洁无侵入适配 SpringBoot 开发规范。资源释放首选PreDestroy用于关闭连接池、定时器、线程池等资源。项目启动后置任务使用ApplicationRunner优先级高于CommandLineRunner。AOP 代理时机发生在 Bean 初始化后置处理阶段BeanPostProcessor 之后。

相关新闻

2026/8/10 23:20:33

AI Agent基础设施:从LLM到生产级应用的核心工程架构

1. 项目概述:为什么说AI Agent的终局在基础设施?最近和几个做AI应用落地的朋友聊天,大家都有一个共同的感受:模型能力日新月异,但真要把一个AI Agent从Demo变成能7x24小时稳定服务、能处理复杂业务流程、能安全合规上线…

2026/8/10 23:20:33

Havenlon | 杂谈:MVP 之后:AI 时代,一个产品需要五次证明

当制造变得廉价,唯一昂贵的东西,就只剩下现实本身。导语:一条被松动的常识过去二十年,创业世界里有一条几乎无人质疑的常识——不要一开始就把产品做完整,先做一个最小可行产品(MVP)&#xff0c…

2026/8/11 0:25:45

07-动态物体跟随检测:实时推理+动态轨迹更新

动态物体跟随检测:实时推理+动态轨迹更新 作者:黒漂技术佬 场景:无人售货柜传送带补货、工控产线流动物料分拣、智慧农业传送带分拣 一、物体动了,事情就复杂了 上一篇讲了静态抓取——物体乖乖躺着等你来拿。现实世界没那么美好:传送带上的商品在匀速移动,产线上的零件…

2026/8/11 0:25:45

06-静态物体精准抓取:检测+坐标转换+机械臂运动调用

静态物体精准抓取:检测+坐标转换+机械臂运动调用 作者:黒漂技术佬 场景:智慧农业果蔬采摘、无人售货柜商品分拣、工控产线零件取放 一、静态抓取到底在干什么? 先说人话:静态抓取就是物体不动,机械臂去把它拿起来。 听起来简单,但拆开来看,这背后是一条完整的工程链路…

2026/8/11 0:25:45

05-手眼标定完整实操:棋盘格标定+参数求解

手眼标定完整实操:棋盘格标定+参数求解 作者:黒漂技术佬 理论篇讲完了 AX=XB,这篇是动手篇——从零开始跑一遍完整的手眼标定流程。棋盘格怎么拍、角点怎么提、矩阵怎么求、结果怎么验,一步一步来,附完整代码。 一、标定准备工作 1.1 硬件清单 机械臂:任意六轴机械臂,能…

2026/8/11 0:25:45

04-手眼标定理论:眼在手上、眼在手外适用场景

手眼标定理论:眼在手上、眼在手外适用场景 作者:黒漂技术佬 上一篇说外参矩阵是手眼标定算出来的。这篇就来讲手眼标定到底在标什么、怎么标、两种安装方式有什么区别。理论篇,公式较多,但我会用人话翻译每一个符号。 一、手眼标定的目的:求什么 回顾上一篇,像素坐标转机…

2026/8/11 0:25:45

03-像素坐标转机械臂世界坐标原理详解

像素坐标转机械臂世界坐标原理详解 作者:黒漂技术佬 YOLO 说目标在 (320, 240) 像素位置,深度相机说距离 0.5 米。但机械臂只认自己坐标系下的毫米数。这中间怎么转?这篇文章把数学原理掰开揉碎讲清楚。 一、四个坐标系:先搞清楚谁是谁 在视觉抓取中,一个点的坐标会在四个…

2026/8/11 0:20:45

2026年怎么选有实力的语音识别芯片制造商?行业发展现状、核心判定标准与选型避坑指南深度解析

一、2026年语音识别芯片行业的市场发展现状 AI大模型与语音交互技术的深度融合,正在推动全球语音识别芯片市场进入新一轮增长周期。据国内电子信息行业相关发展报告显示,2026年国内语音识别芯片市场规模预计保持稳定增长,核心驱动因素涵盖消费…

2026/8/9 0:01:56

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 5:09:58

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/11 0:00:39

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:39

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/10 11:20:30

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/10 11:20:30

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/9 15:24:19

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…