今天面试被问到个题目,
1.Springboot加载配置文件(application.yml)的原理
2. pom文件是在什么时候加载到容器中的。
两个问题容易搞混,记录一下。第二个是自动配置原理,第一个关于springboot执行流程
全部评论
第一个问题你的回答不是注入IOC的原理吗?我去gpt了一下 Spring Boot 使用 YAML 或者 properties 格式的配置文件来配置应用程序。它加载这些配置文件的原理主要基于 Spring Framework 中的 `PropertySource` 机制。 在 Spring Boot 应用程序启动时,它会扫描 classpath 下的默认位置(比如 `src/main/resources` 目录)以及额外指定的位置,查找配置文件。默认的配置文件名为 `application.yml` 或者 `application.properties`。 加载配置文件的过程主要由 Spring Boot 的 `SpringApplication` 类完成。`SpringApplication` 会创建一个 `Environment` 对象,它负责加载、管理和提供配置属性。在加载配置文件时,`SpringApplication` 会根据配置文件的类型(YAML 或者 properties)创建对应的 `PropertySource` 对象,并将其添加到 `Environment` 中。 一旦配置文件被加载到 `Environment` 中,应用程序中的其他组件就可以通过 `Environment` 或者 `@Value` 注解来获取配置属性。 总的来说,Spring Boot 加载配置文件的原理主要涉及以下几个步骤: 1. 扫描 classpath 下的默认位置和额外指定的位置,查找配置文件。 2. 根据配置文件的类型(YAML 或者 properties)创建对应的 `PropertySource` 对象。 3. 将 `PropertySource` 对象添加到 `Environment` 中。 4. 应用程序中的其他组件通过 `Environment` 或者 `@Value` 注解来获取配置属性。 这种基于 `PropertySource` 的机制使得 Spring Boot 应用程序可以轻松地加载和管理配置属性,同时也可以方便地与 Spring Framework 的其他特性(比如 Spring 的依赖注入)集成使用。
5 回复 分享
发布于 2024-04-12 15:03 黑龙江
哥们你八股背昏了吧😂,第1个你背的是自动配置的原理呀。
3 回复 分享
发布于 2024-04-18 19:59 湖北
woc我也一眼自动配置
1 回复 分享
发布于 2024-04-18 23:45 陕西

相关推荐

3.5一面 一、 项目1. 简单介绍一下这个系统的知识库问答架构,从文档入库到最后回答的完整链路是怎样的?2. 向量检索用的是什么索引类型?3. 在召回之后有没有做重排(Rerank)之类的操作?4. 你知识库的准确率和召回率是怎么评估的?5. Spring AI Alibaba 的 Function Calling 是怎么实现的?模型如何决定调用哪个工具?6. 如果工具调用失败了,你们设计了什么处理机制?7. Execute Plan 模式具体是怎么实现的?8. 平时哪种模型用的比较多?9. 平时编码时会用哪些模型?10. 在选择向量数据库时,有没有看过其他的(如 ES、Milvus 以外的选择)?它们之间的区别你大概有概念吗?11. 在写 Prompt的时候,你有哪些实践经验或设计原则?12. Graph Rag / Agentic Rag了解过吗13. 在秒杀下单中,Lua 脚本具体做了什么?为什么要用 Lua,而不是分开执行多条指令?14. 这个项目你自己做过压测吗?15. 对系统能扛住的流量(QPS)有没有具体的概念?16. 对于什么时候该上缓存、什么时候该上本地缓存,你大概的概念是什么二、 Java 基础1. 线程池的核心参数有哪些?2. 线程池内部的具体工作流程是怎样的?3. 核心线程数和最大线程数一般怎么确定/计算?三、 场景题1. 你觉得目前 RAG(检索增强生成)最大的瓶颈是什么?2. 假设要给电商平台搭建一个百万/千万级的商品知识库问答系统,你会怎么设计?3. 针对商品信息(如价格、描述)可能被商家动态更新的情况,你的知识库设计需要考虑什么?四、手撕:二叉树的层序遍历反问面试表现,面试官当场告知通过
查看23道真题和解析
点赞 评论 收藏
分享
评论
21
176
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务