当前位置: 首页 > article >正文

万字拆解 LLM 运行机制:Token、上下文与采样参数暮

springboot自动配置自动配置了大量组件配置信息可以在application.properties文件中修改。当添加了特定的Starter POM后springboot会根据类路径上的jar包来自动配置bean比如springboot发现类路径上的MyBatis相关类springboot会自动配置MyBatis相关的bean。springboot使用默认配置来设置这些功能开发人员也可以自定义配置来覆盖默认配置。这些配置信息如何生效的通过ConfigurationProperties注解将配置信息注入到组件中的属性类的。属性类一般以Properties结尾。比如tomcat组件的ServerProperties类就是将配置信息中server开头的配置注入到属性中比如server.port8080会被绑定到属性中ConfigurationProperties(server)public class ServerProperties {private Nullable Integer port;private Nullable InetAddress address;.....}自动配置是按需加载的springboot提供很多自动配置类这些自动配置不是全部生效它是按需加载的导入了哪个启动器则该启动器对应的配置类才会被加载。任何启动器都会关联一个启动器spring-boot-Starter它是springboot框架最核心的启动器。spring-boot-Starter又关联引入spring-boot-auto从figure。所有的自动配置类都在这里。自动配置类用来创建相应的组件。按需加载如何实现使用条件注解可以实现按需加载。条件注解基于某些条件决定是否应该创建一个bean。这些注解通常用在自动配置类上以确保只有在特定条件满足时才会应用相应的配置。条件注解可以用在类上也可以用在方法上。常见的条件注解有ConditionalOnClass 指定类存在时才创建beanConditionalOnMissingClass 指定类不存在时才创建beanConditionalOnBean 容器中存在指定bean时才创建beanConditionalOnMissingBean 容器中不存在指定bean时才创建beanConditionalOnProperty 配置文件中存在指定属性时才创建beanConditionalOnResource 指定资源存在时才创建beanConditionalOnWebApplication 应用程序是Web应用时才创建beanConditionalOnNotWebApplication 应用程序不是Web应用时才创建bean修改默认的包扫描规则修改扫描规则有2种方式在主入口类上添加以下注解的任意一个都可以修改包扫描规则扫描com包及其子孙包ComponentScan(com)SpringBootApplication(scanBasePackages com)自动配置的实现原理程序从main方法开始执行主入口类上使用SpringBootApplication进行标注SpringBootApplication是复合注解代表以下三个注解的功能a. SpringBootConfiguration:它被Configuration标注。表明主入口类是一个配置类此时该配置开始加载。b. ComponentScan 默认扫描主入口类所在包及其子孙包因此spring-boot-autoconfigure 自动配置类是无法加载的那么这些自动配置类又是怎么生效的呢c. EnableAutoConfiguration 该注解的作用就是启用自动配置EnableAutoConfiguration 被Import({AutoConfigurationImportSelector.class})标注? Import({AutoConfigurationImportSelector.class})的作用是将AutoConfigurationImportSelector作为一个bean加载到Ioc容器中? 这个bean的作用是负责收集和选择所有符合条件的自动配置类。总结运行环境准备阶段引入Web启动器最终传递引入了自动配置的jar包自动配置的jar包中有152个自动配置类到此运行环境准备完毕运行阶段EnableAutoConfiguration 启用自动配置将152个自动配置类全部加载到Ioc容器中。然后根据开发场景筛选出必须得自动配置类自动配置类加载了很多组件每个组件需要的数据来自属性类属性类的属性来自配置文件总之一句话。导入启动器修改配置文件。就可以完成对应功能的开发。springmvc配置# 让springboot的静态资源处理失效spring.web.resources.add-mappingsfalse# 配置静态资源的访问URLspring.mvc.static-path-pattern/**# 静态资源文件存储位置默认配置spring.web.resources.static-locationsclasspath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/springboot对静态资源是如何处理的什么样的URL 访问哪个位置上的资源文件webjarswebjars是现在前后端分离中比较重要的一种静态资源打包方式。webjars是一种常用的前端库如jQuery打包成jar包的形式方便在java程序中使用。webjars提供了一种标准化的方式来管理前端库使其更容易集成到java项目中并且可以利用Maven的依赖管理功能。org.webjars.npmvue3.5.12默认规则是当请求路径是/wbjars/**,则会去classpath:/MEAT-INF/resources/webjars/找。静态资源缓存处理静态资源缓存是指浏览器的缓存行为浏览器可以缓存js、CSS、图片、声音、视频到浏览器中下一次用户访问同样的资源就直接从缓存中获取不再从服务器获取这样能减少服务器压力提高相应效率。可以通过配置来修改默认的缓存机制。静态资源缓存设置缓存有效期设置spring.web.resources.cache.period3600# 缓存控制设置spring.web.resources.cache.cachecontrol.max-age20# 是否启用最后一次修改时间的比对spring.web.resources.cache.use-last-modifiedtrue静态index.html的支持spring会自动处理位于静态资源目录下的index.html文件名必须是index.html使其成为应用程序的主页。注意此时不能配置静态资源访问urlspring.mvc.static-path-pattern必须使用默认的配置favicon.ico将favicon.ico放在静态资源根目录下就会自动生效。spring boot的web手动配置静态资源处理编写代码的方式第一种方式 实现WebMvcConfigurer接口// 添加这个注解后表示不再使用springboot提供的默认配置// EnableWebMvcConfigurationpublic class WebConfig implements WebMvcConfigurer {// 静态资源处理需要重写的方法Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// 使用注册器registry 绑定 pathPatterns 以及真实的静态资源文件存储路径registry.addResourceHandler(/abc/**) // 配置路径访问模式.addResourceLocations(classpath:/static1/, classpath:/static2/, classpath:/static3/); // 配置静态资源路径}}第二种方式Configurationpublic class WebConfig2 {Beanpublic WebMvcConfigurer addResourceHandlers() {return new WebMvcConfigurer() {Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler(/abc/**) // 配置路径访问模式.addResourceLocations(classpath:/static1/, classpath:/static2/, classpath:/static3/); // 配置静态资源路径}};}}web请求的路径匹配# 前端请求的url 匹配到controller中的某个方法# 使用ant风格的路径匹配规则默认值是path_pattern_matcher# path_pattern_matcher兼容且支持ant风格# 在ant风格中** 可以出现在任何位置但在path_pattern_matcher风格中** 只能出现在末尾# spring6 下的ant风格 ** 也只能出现在末尾spring.mvc.pathmatch.matching-strategyant_path_matcher涝墓粟献

相关文章:

万字拆解 LLM 运行机制:Token、上下文与采样参数暮

springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类&#xff…...

AI开发-python-langchain框架(--自定义Tool )挪

起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧&#xff…...

DABShield数字广播扩展板嵌入式驱动开发指南

1. DABShield 数字广播扩展板技术解析与嵌入式驱动开发指南DABShield 是一款面向嵌入式平台的高集成度数字广播接收扩展板,专为 Arduino、STM32、ESP32 等主流微控制器设计,支持 DAB(Digital Audio Broadcasting)、DAB&#xff08…...

LSM6DS0超低功耗六轴IMU硬件原理与嵌入式驱动实战

1. LSM6DS0:面向嵌入式实时系统的六轴惯性测量单元深度解析 LSM6DS0 是意法半导体(STMicroelectronics)于2014年推出的超低功耗、高精度六轴惯性测量单元(IMU),集成三轴加速度计与三轴陀螺仪于单一封装内。…...

Windows右键菜单管理神器:ContextMenuManager让你的操作效率翻倍

Windows右键菜单管理神器:ContextMenuManager让你的操作效率翻倍 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否厌倦了Windows右键菜单被各种…...

AVRDx平台ISR型PWM库:高确定性多路软件PWM方案

1. Dx_Slow_PWM 库深度解析:面向 AVRDx 平台的高可靠性 ISR 基础 PWM 解决方案1.1 工程背景与核心痛点在嵌入式系统开发中,PWM(脉宽调制)是驱动电机、LED 调光、音频生成、电源控制等场景的基础能力。AVR 系列微控制器传统上依赖专…...

matlab代码:储能参与电能量—辅助服务调频市场联合出清代码。 本代码是电力市场出清的一个重要方向

matlab代码:储能参与电能量—辅助服务调频市场联合出清代码。本代码是电力市场出清的一个重要方向,由于储能的诸多特性,使其适合于辅助服务市场的调频市场,储能的参与也能获利。 首先利用SCUC模型确定机组出力计划和储能充放电计划…...

别再乱选了!SMT贴片新手必看:卷带、托盘、管式、散装四种元器件包装的保姆级选择指南

SMT贴片元器件包装选择实战指南:从卷带到散装的深度解析 刚踏入SMT产线的新手工程师,面对BOM表上密密麻麻的包装代码(Tape on Reel、Tray、Tube、Bulk)时,往往会陷入选择困境。选错包装类型可能导致生产效率腰斩、物料…...

ESP32/ESP8266轻量级WiFi配置门户与多凭证管理

1. ESP_WiFiManagerLite2 库深度解析:轻量级多WiFi凭证管理与运行时配置方案1.1 项目定位与工程价值ESP_WiFiManagerLite2 是专为 ESP32 和 ESP8266 系列微控制器设计的轻量级 WiFi 凭证管理与配置门户(Config Portal)库。其核心设计哲学是“…...

Gitee仓库管理实战:从零开始掌握本地文件推送全流程

1. 环境准备:从零搭建Git与Gitee桥梁 第一次接触代码版本控制的新手,往往会对着满屏的命令行感到手足无措。其实Git就像个智能文件管家,而Gitee相当于云端保险柜。我刚开始用Git时,最头疼的就是明明本地文件改好了,却总…...

终极指南:使用SRWE窗口编辑器轻松突破Windows窗口限制

终极指南:使用SRWE窗口编辑器轻松突破Windows窗口限制 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE SRWE窗口编辑器是一款专为Windows用户设计的革命性工具,让你能够实时调整任何应用程…...

VS Code 语义化代码高亮:如何为不同语法元素定制专属色彩

1. 为什么需要语义化代码高亮? 写代码就像在画一幅复杂的画,不同颜色的颜料能帮助我们快速区分画面中的各个元素。想象一下如果整幅画只用黑色线条勾勒,即使结构再清晰,看起来也会很吃力。代码阅读也是同样的道理——当所有变量、…...

VideoAgentTrek Screen Filter开发指南:使用Git进行版本管理与协作

VideoAgentTrek Screen Filter开发指南:使用Git进行版本管理与协作 如果你正在基于VideoAgentTrek Screen Filter进行二次开发,无论是修改AI模型推理逻辑,还是调整视频过滤规则,很快你就会遇到一个现实问题:代码怎么管…...

高性能客服系统技术内幕:通过 SpinWait 自旋等待结构体提升高频消息分发性能挥

1. 智能软件工程的范式转移:从库集成到原生框架演进 在生成式人工智能(Generative AI)从单纯的文本生成向具备自主规划与执行能力的“代理化(Agentic)”系统跨越的过程中,.NET 生态系统正在经历一场自该平台…...

把近万个源文件喂给AI之前,我先做了一件事猛

插件化架构 v3 版本最大的变化是引入了模块化插件系统。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。 每个插件都是一个独立的 Composer 包,包含 Swift 和 Kotlin 代码、权限清单以及原生依赖。开发者只需安装实际用到的插件&#xff0…...

【国家级AI安全合规指南】:基于GB/T 44503-2024标准的6层对齐验证体系实战拆解

第一章:大模型工程化安全与对齐策略的顶层范式演进 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化已从单点能力验证阶段,跃迁至以系统性安全治理与价值对齐为内核的范式重构期。这一演进并非技术栈的线性叠加,而是安全目标、对…...

【2026奇点大会官方内参】:大模型微调5大避坑指南(含Meta/DeepSeek一线工程师未公开参数配置)

第一章:2026奇点智能技术大会:大模型微调最佳实践 2026奇点智能技术大会(https://ml-summit.org) 数据准备的核心原则 高质量微调始于精准的数据治理。训练样本需满足领域对齐、语义完整性与标注一致性三重标准。建议采用分层采样策略:70% …...

JavaWeb技术全景解析:从核心组件到实战架构

1. JavaWeb技术全景概览 当你第一次接触JavaWeb开发时,可能会被各种术语和概念搞得晕头转向。别担心,这就像学做菜一样,刚开始分不清酱油和醋很正常。JavaWeb本质上就是用Java技术来开发网站和Web应用的一套解决方案,它能让你的程…...

数据分析三件套:Numpy、Pandas、Matplotlib

目录 一、 环境准备与安装 1.1 确认Python环境 1.2 使用pip一键安装 1.3 验证安装是否成功 二、 NumPy:数组计算的基石 2.1 什么是NumPy? 2.2 创建数组的四种方式 2.3 数组的常用操作 2.3.1 形状操作 2.3.2 数学运算 2.3.3 索引与切片 2.4 Nu…...

避坑指南:调整Intel/AMD平台PCIe超时设置前,你必须知道的CPU内部Timer架构

深入解析Intel/AMD平台PCIe超时机制:系统架构师必须了解的CPU内部Timer设计 在当今高性能计算和低延迟网络应用中,PCIe设备的稳定性和性能优化成为系统架构师面临的核心挑战之一。当FPGA加速卡突然停止响应,或者100G网卡出现间歇性数据丢失时…...

Win10家庭版用户必看:用傲梅分区助手克隆硬盘时如何避免RAW格式(附BitLocker解决方案)

Win10家庭版硬盘克隆避坑指南:傲梅分区助手与BitLocker加密的实战解决方案 最近帮朋友处理一台联想小新Air14的硬盘扩容需求时,遇到了一个颇具代表性的问题:使用傲梅分区助手克隆完硬盘后,目标盘突然变成了无法识别的RAW格式。这个…...

Pokerobo_RCB嵌入式遥控器驱动库:摇杆、nRF24、12864 LCD协同设计

1. Pokerobo_RCB 库概述Pokerobo_RCB 是一个面向嵌入式遥控器硬件平台的专用驱动与控制库,核心目标是将三类关键外设——模拟摇杆(Joystick)、nRF24L01 射频收发模块、ST7920 驱动的 12864 点阵液晶(12864 LCD)——在单…...

Springboot 实现多数据源(PostgreSQL 和 SQL Server)连接倩

一、环境准备 Free Spire.Doc for Python 是免费 Python 文档处理库,无需依赖 Microsoft Word,支持 Word 文档的创建、编辑、转换等操作,其中内置的 Markdown 解析能力,能高效实现 Markdown 到 Doc/Docx 格式的转换,且…...

SDHCFileSystem:嵌入式高可靠FAT文件系统实现

1. SDHCFileSystem 库深度解析:面向嵌入式系统的高可靠性 SD/SDHC 卡文件系统实现1.1 库定位与工程价值SDHCFileSystem 是一个专为资源受限嵌入式平台设计的轻量级、可移植、生产就绪型 FAT 文件系统中间件。其核心目标并非替代成熟的 FatFS 或 LittleFS&#xff0c…...

周红伟:替代龙虾的是什么?从 OpenClaw 到 Hermes:会自己长大的 AI 代理

这篇文章介绍了由 Nous Research 开发的开源 AI 代理 Hermes Agent。与前代产品 OpenClaw 相比,Hermes 最大的突破在于内置了完整的学习闭环——能从经验中自动创建和优化技能、跨会话记忆用户偏好,真正实现"越用越聪明"。文章涵盖项目核心特性…...

QTableWidget 表格组件故

7.1 初识三维模型 7.1.1 三维模型的数据载体 随着计算机图形技术的发展,我们或多或少都会见过或者听说过三维模型。笔者始终记得小时候第一次在电视上看到三维动画《变形金刚:超能勇士》的震撼感受;而现在我们已经可以在手机上玩三维游戏《王…...

告别OpenAI API费用!用Ollama+crewAI搭建免费本地AI工作流(保姆级避坑指南)

零成本构建本地AI工作流:Ollama与crewAI深度整合实战指南 在技术迭代日新月异的今天,大型语言模型已成为开发者工具箱中不可或缺的一部分。然而,商业API的高昂成本和网络限制常常让个人开发者和小型团队望而却步。本文将带你探索如何利用Olla…...

BMI088六轴IMU驱动开发:通信配置、同步机制与工程调优

1. BMI088六轴IMU底层驱动技术深度解析1.1 器件特性与工程定位Bosch Sensortec BMI088是一款面向高动态场景的系统级封装(SiP)六轴惯性测量单元,其核心价值不在于参数堆砌,而在于针对无人机、机器人等振动敏感平台的系统级鲁棒性设…...

MCP23S17 SPI端口扩展器原理与Arduino驱动实战

1. MCP23S17 嵌入式SPI端口扩展器深度技术解析MCP23S17 是 Microchip 公司推出的 16 通道、SPI 接口的可编程 I/O 端口扩展芯片,广泛应用于资源受限的嵌入式系统中,用于扩展主控 MCU 的 GPIO 数量。其核心价值在于以极低的硬件开销(仅需 4 根…...

IOFILE结构体的介绍与House of orange蟹

认识Pass层级结构 Pass范围从上到下一共分为5个层级: 模块层级:单个.ll或.bc文件 调用图层级:函数调用的关系。 函数层级:单个函数。 基本块层级:单个代码块。例如C语言中{}括起来的最小代码。 指令层级:单…...