当前位置: 首页 > 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…...

把代码写成诗:那些令人拍案叫绝的变量命名

在软件开发的浩瀚海洋中,变量命名常被视为一种基础技能,但对软件测试从业者而言,它却是一门精妙的艺术。优秀的变量命名不仅能提升代码可读性,更能像诗歌一样,赋予逻辑以韵律和美感。尤其在测试领域,清晰的…...

从代码到灶台:测试思维在厨房的降维打击

作为一名软件测试工程师,我习惯于用边界值分析、异常流覆盖和迭代优化思维拆解系统问题。当这种思维迁移到厨房,一场关于“炒菜算法”的重构悄然开始——V1.0基础版:最小可行菜品(MVP)的诞生就像测试需先建立基础用例,我的厨艺从番…...

终极AWDL管理指南:彻底解决Apple Silicon MacBook Wi-Fi卡顿问题

终极AWDL管理指南:彻底解决Apple Silicon MacBook Wi-Fi卡顿问题 【免费下载链接】awdl_wifi_scripts Scripts to disable awdl 项目地址: https://gitcode.com/gh_mirrors/aw/awdl_wifi_scripts 你是否在使用Apple Silicon(M1/M2/M3)…...

LiuJuan Z-Image详细步骤:自定义权重注入全流程(含键名清洗脚本)

LiuJuan Z-Image详细步骤:自定义权重注入全流程(含键名清洗脚本) 1. 引言:为什么需要自定义权重注入? 如果你用过一些开源的图片生成模型,可能会发现一个头疼的问题:好不容易找到一个别人训练…...

MedGemma Medical Vision Lab镜像免配置:Docker一键运行+Web界面自动加载MedGemma权重

MedGemma Medical Vision Lab镜像免配置:Docker一键运行Web界面自动加载MedGemma权重 想快速体验一个能看懂X光片、CT影像的AI助手吗?今天介绍的MedGemma Medical Vision Lab,让你无需任何复杂的模型下载和配置,就能在本地运行一…...

【Kubernetes】从零构建:生产级备份恢复体系的实战指南

1. 为什么Kubernetes备份如此重要? 想象一下这样的场景:凌晨三点,你的手机突然响起警报,生产环境的Kubernetes集群出现了严重故障。可能是某个工程师的误操作删除了关键命名空间,也可能是底层存储系统发生了不可预知的…...

用STM32和US100超声波模块做个智能小车避障:从硬件连接到代码调试全流程

STM32与US100超声波模块实战:打造高精度智能避障小车 项目背景与核心组件 智能小车作为嵌入式开发的经典项目,融合了传感器技术、电机控制和算法逻辑等多个领域。在这个项目中,我们将使用STM32F103C8T6最小系统板作为主控,搭配US1…...

重塑GitHub Desktop中文体验:让版本控制说你的语言

重塑GitHub Desktop中文体验:让版本控制说你的语言 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 你是否曾面对GitHub Desk…...

Cosmos-Reason1-7B实操手册:视频分段处理与长时序物理状态拼接技术

Cosmos-Reason1-7B实操手册:视频分段处理与长时序物理状态拼接技术 1. 项目概述 Cosmos-Reason1-7B是NVIDIA开源的一款7B参数量的多模态物理推理视觉语言模型(VLM),作为Cosmos世界基础模型平台的核心组件,专注于物理理解与思维链(CoT)推理能…...

实战指南:如何为Windows 7 SP2配置现代硬件支持与安全增强方案

实战指南:如何为Windows 7 SP2配置现代硬件支持与安全增强方案 【免费下载链接】win7-sp2 UNOFFICIAL Windows 7 Service Pack 2, to improve basic Windows 7 usability on modern systems and fully update Windows 7. 项目地址: https://gitcode.com/gh_mirror…...

GPT-OSS-20B开箱即用:通过Ollama快速体验开源大模型的魅力

GPT-OSS-20B开箱即用:通过Ollama快速体验开源大模型的魅力 1. 为什么选择GPT-OSS-20B 在当今AI技术飞速发展的时代,能够本地运行的高质量开源大模型变得越来越重要。GPT-OSS-20B作为OpenAI推出的重量级开放模型,为开发者提供了一个强大而灵…...

GME多模态向量模型效果展示:Qwen2-VL-2B在技术标准文档图解条款检索中应用

GME多模态向量模型效果展示:Qwen2-VL-2B在技术标准文档图解条款检索中应用 1. 模型核心能力概览 GME多模态向量-Qwen2-VL-2B模型是一个强大的多模态检索工具,它能够同时处理文本、图像以及图文组合输入,生成统一的向量表示。这种能力让它在…...

3步掌握B站视频高效学习法:BiliTools智能工具箱完全指南

3步掌握B站视频高效学习法:BiliTools智能工具箱完全指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …...

算法竞赛证书怎么选?PAT、CSP、天梯赛、蓝桥杯横向对比(2024最新版)

算法竞赛证书怎么选?PAT、CSP、天梯赛、蓝桥杯横向对比(2024最新版) 当你在深夜调试完最后一行代码,看着屏幕上绿色的"Accepted"时,那种成就感是任何虚拟游戏都无法比拟的。算法竞赛的世界里,证书…...

告别偏色!手把手教你用CCM矩阵校正相机色彩(附24色卡实战步骤)

告别偏色!手把手教你用CCM矩阵校正相机色彩(附24色卡实战步骤) 在图像处理领域,色彩准确度直接影响着最终成像质量。无论是工业检测、安防监控还是消费级摄影,偏色问题都会导致数据误判或视觉体验下降。CCM&#xff08…...

告别模拟器调试烦恼:用Kotlin Multiplatform和Kuikly在OpenHarmony上实现真机优先的高效开发

真机优先开发革命:Kotlin Multiplatform与Kuikly在OpenHarmony上的架构兼容实践 当开发团队首次将跨平台方案引入OpenHarmony生态时,往往会在x86模拟器与ARM真机的架构差异前陷入两难。传统方案如React Native或Flutter需要开发者花费大量时间处理不同架…...

Git核心概念精讲:分支、提交、合并与变基的实战理解

Git核心概念精讲:分支、提交、合并与变基的实战理解 昨天帮同事排查一个线上问题,发现他的本地分支和远程仓库完全对不上。问他怎么操作的,支支吾吾说“就是来回切分支,然后pull了几次”。打开git log一看,好家伙,提交历史像一团乱麻,merge commit多到能织毛衣。这让我…...

SystemC新手避坑指南:从环境配置到第一个模块的正确姿势

SystemC新手避坑指南:从环境配置到第一个模块的正确姿势 刚接触SystemC的开发者往往会在环境配置和基础语法上踩不少坑。记得我第一次尝试编译SystemC模块时,花了整整两天时间才让第一个"Hello World"跑起来——不是链接库路径没设对&#xff…...

初认识测试

前言: 什么是测试,测试在我们的生活中随处可见,比如你要买一件衣服,首先你可能是因为这件衣服的样式吸引了你,这其实就是外貌测试,然后呢,你就询问这件衣服的品质,看是不是你的需求&…...

Linux I/O 演进史:从管道到零拷贝,一篇串起个服务端核心原语竞

前言 在使用 kubectl get $KIND -o yaml 查看 k8s 资源时,输出结果中包含大量由集群自动生成的元数据(如 managedFields、resourceVersion、uid 等)。这些信息在实际复用 yaml 清单时需要手动清理,增加了额外的工作量。 使用 kube…...

Rustup终极指南:三步搞定Rust工具链管理难题

Rustup终极指南:三步搞定Rust工具链管理难题 【免费下载链接】rustup The Rust toolchain installer 项目地址: https://gitcode.com/gh_mirrors/ru/rustup 你是否曾经因为Rust版本冲突而头疼?是否在项目间切换时,为不同版本的编译器而…...

MetaBCI脑机接口开发终极指南:从零到精通的完整学习路径

MetaBCI脑机接口开发终极指南:从零到精通的完整学习路径 【免费下载链接】MetaBCI MetaBCI: China’s first open-source platform for non-invasive brain computer interface. The project of MetaBCI is led by Prof. Minpeng Xu from Tianjin University, China…...

11.1 LangChain 部署(代码测试)

非常抱歉!我彻底记住你的要求了!这次绝对严格执行:全文完整翻译、100%对齐原文结构、翻译通俗易懂、附加通俗理解,绝不做精简总结! 部署(Deploy)完整翻译 原文100%全覆盖 | 翻译通俗化 | 附加通俗理解 本页导航 前置条件 部署你的智能体 在 GitHub 上创建代码仓库 生产…...

AIAgent记忆泄漏导致LLM幻觉加剧?SITS2026现场演示2分钟定位+4步清除陈旧记忆链

第一章:SITS2026演讲:AIAgent长期记忆管理 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场的Keynote环节,AIAgent架构团队首次公开了面向生产级应用的长期记忆(Long-Term Memory, LTM)管理框架——C…...

魔兽世界GSE宏编辑器终极指南:5步掌握技能自动化与游戏操作优化

魔兽世界GSE宏编辑器终极指南:5步掌握技能自动化与游戏操作优化 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Mac…...

手把手教你用C语言开发扫雷小游戏

C语言:扫雷游戏一.游戏逻辑分析与结构框架1.棋盘的创建2.布置炸弹3.排除炸弹二.游戏实现1.头文件game.h2.源文件game.c3.源文件test.c在此之前我们已经对分支与循环语句、数组和函数有了一定得了解,接下来我们将写一个简单的扫雷游戏代码,在写…...

从对抗到共生:SITS2026定义2026人机协作新范式——基于17国247家企业实测的协作成熟度五级评估体系

第一章:从对抗到共生:SITS2026人机协作范式跃迁 2026奇点智能技术大会(https://ml-summit.org) 过去十年,人机关系常被简化为“替代—竞争”叙事:模型越强,岗位越危。SITS2026首次系统性提出“协作熵减”理论——即人…...

AI安全基础:AI系统权限管理的安全规范

AI安全基础:AI系统权限管理的安全规范📝 本章学习目标:本章是基础入门部分,帮助零基础读者建立对AI安全合规治理的初步认知。通过本章学习,你将全面掌握"AI安全基础:AI系统权限管理的安全规范"这…...

企业安全生产知识竞赛活动组织与实施指南

🛡️ 企业安全生产知识竞赛活动组织与实施指南🎯 一、活动目标与意义核心目标:以赛促学、以学促安。通过趣味性竞赛,普及安全知识,检验培训成果,强化“安全第一、预防为主、综合治理”意识,营造…...