spring容器启动流程【TL spring 10】
BeanFactoryDefaultListableBeanFactory里面有 BeanDefinitionMap、beanPostProcessors、单例池1、创建DefaultListableBeanFactory2、创建AnnotatedBeanDefinitionReader传入DefaultListableBeanFactory3、创建ClassPathBeanDefinitionScannerrefresh方法涉及模板设计模式 父类方法子类实现refresh方法 给beanfactory设置一些东西1、prepareRefresh -》initpropertysource往environment加东西、 getEnvironment.validateRequiredProperties() 验证是否具有某属性2、obtainFreshBeanFactory() -》refreshBeanFactory两个实现子类 web支持重复刷新另一个不支持重复刷新 返回bean工厂 annotationConfigApplicationContext与annotationConfigwebApplicationContext创建bean工厂的位置不同3、prepareBeanFactory(beanFactory)添加类加载器、EL解析器、类型转化器、baenPostProcessor处理aware回调、配置相关的beanapplicationContext、第二个baenPostProcessor、第三个baenPostProcessor添加环境变量4、postProcessBeanFactory(beanFactory);6、invokeBeanFactoryPostProcessors(beanFactory); 把beanFactory传进去然后扫描得到beandefinition放到beanFactory里面来7、registerBeanPostProcessors(beanFactory);8、initMessageSource(); 支持国际化 messageSource 赋值给applicationContext属性9、initApplicationEventMulticaster();设置事件发布器广播器调用事件监听器放到单例池 simpleApplicationEventMulticaster线程池--------------------------------------------------------------------------------Executor executor getTaskExecutor(); return this.taskExecutor; for (ApplicationListener? listener : getApplicationListeners(event, type)) { if (executor ! null) { executor.execute(() - invokeListener(listener, event)); } else { invokeListener(listener, event); } }10、// 给子类的模板方法 onRefresh();11、registerListeners(); 事件监听器 被事件发布器调用1、实现ApplicationListener接口 payloadApplicationEvent对象 applicationListenerDetector2、EventListener注解12、finishBeanFactoryInitialization(beanFactory);ConversionService、占位符解析器lambda表达式Environment、preInstantiateSingletons--实例化非懒加载的单例bean13、finishRefresh(); 启动完成 smartlifecycleBeanFactoryPostProcessorbeanDefinitionRegistryPostProcessor---BeanFactory的后置处理器 BeanPostProcessor ---- Bean对象的后置处理器依赖注入autowired先执行回调再执行依赖注入bytype模式不会被调用先register后refresh

相关新闻

从脚手架到工程化基石:skill-creator 生产级定制与架构实践

从脚手架到工程化基石:skill-creator 生产级定制与架构实践

1. 项目概述:从工具使用者到架构思考者如果你正在寻找一个能快速生成项目脚手架、统一团队技术栈的工具,那么skill-creator这个名字你可能并不陌生。它常常出现在各种快速上手的教程里,被描述为一个“一键生成项目”的利器。但今天&#xff0…

2026/8/11 12:02:27 阅读更多 →
CAD动态块图库:从参数化设计到智能构件的高效应用

CAD动态块图库:从参数化设计到智能构件的高效应用

你有没有过这样的经历:打开CAD,新建一个文件,然后对着空白的绘图区开始一笔一画地绘制一个标准的门、窗、或者一个复杂的螺栓连接件?画完一个,下一个项目又需要,于是复制、粘贴、修改尺寸……日复一日&…

2026/8/11 12:02:27 阅读更多 →
2026年B端抖音代运营公司盘点:精耕时代如何选对抖音运营机构

2026年B端抖音代运营公司盘点:精耕时代如何选对抖音运营机构

开篇引言2026年,短视频流量红利消退,上海企业主面对的是"精耕细作"的获客环境。自建编导拍摄剪辑投流团队,月均人力成本约3-5万元,磨合周期常超6个月;而代运营市场机构超千家,泛流量派、模板化派…

2026/8/11 12:02:27 阅读更多 →

最新新闻

积木报表动态插入Excel图片的技术实现与优化

积木报表动态插入Excel图片的技术实现与优化

1. 项目背景与需求分析 在数据报表制作领域,积木报表因其灵活性和易用性成为众多企业的首选工具。但在实际业务场景中,我们经常遇到一个棘手问题:如何在积木报表生成的Excel文件中动态插入图片?这个需求在以下场景尤为常见&#x…

2026/8/11 12:59:51 阅读更多 →
想学 AI?先把 Python 学明白

想学 AI?先把 Python 学明白

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

2026/8/11 12:59:51 阅读更多 →
构建智能化学研究平台:ChemCrow的AI增强架构与模块化工具集成

构建智能化学研究平台:ChemCrow的AI增强架构与模块化工具集成

构建智能化学研究平台:ChemCrow的AI增强架构与模块化工具集成 【免费下载链接】chemcrow-public Chemcrow 项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public 在化学研究领域,传统工作流程面临着专业知识壁垒、工具分散和数据处理复杂…

2026/8/11 12:59:51 阅读更多 →
分布式每日一学 — Day 4:分布式事务(2PC / 3PC / Saga / TCC)

分布式每日一学 — Day 4:分布式事务(2PC / 3PC / Saga / TCC)

🎓 分布式每日一学 — Day 4:分布式事务(2PC / 3PC / Saga / TCC)前 3 天我们打的是「副本一致性」这条线:CAP 告诉我们 P 没得选,Raft/Paxos 告诉我们"怎么让一组机器对同一份数据达成一致"。 今…

2026/8/11 12:59:51 阅读更多 →
幻兽帕鲁存档转换终极指南:如何轻松解密游戏数据

幻兽帕鲁存档转换终极指南:如何轻松解密游戏数据

幻兽帕鲁存档转换终极指南:如何轻松解密游戏数据 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾对《幻兽帕鲁》的存档文件感…

2026/8/11 12:59:51 阅读更多 →
Wand-Enhancer:5分钟免费解锁Wand游戏修改器高级功能指南

Wand-Enhancer:5分钟免费解锁Wand游戏修改器高级功能指南

Wand-Enhancer:5分钟免费解锁Wand游戏修改器高级功能指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wand(原WeM…

2026/8/11 12:58:51 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

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

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

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

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

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

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

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

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

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →