Spring Boot 配置文件核心用法与加载优先级
一、多配置文件的核心用法Spring Boot 采用「主配置文件 环境专属配置文件」的模式管理多环境配置核心规则如下1. 配置文件命名规范Spring Boot 默认识别.properties/.yml/.yaml两种格式命名需遵循以下规则配置文件类型命名格式作用主配置文件必选application.properties/application.yml存放所有环境的公共配置环境专属配置文件application-{profile}.properties/application-{profile}.yml存放指定环境的专属配置如application-dev.yml、application-prod.yml2. 激活指定配置文件支持 3 种激活方式优先级从低到高排列方式 1主配置文件中指定最常用在application.yml中通过spring.profiles.active激活可指定多个环境逗号分隔yaml# application.yml主配置文件 # 公共配置所有环境生效 server: port: 8080 # 激活 dev 环境可多环境dev,test spring: profiles: active: dev示例环境配置文件yaml# application-dev.yml开发环境 spring: datasource: url: jdbc:mysql://localhost:3306/dev_db username: root password: 123456 logging: level: root: debug # 开发环境日志级别yaml# application-prod.yml生产环境 spring: datasource: url: jdbc:mysql://192.168.1.100:3306/prod_db username: prod_user password: prod_123456 logging: level: root: info # 生产环境日志级别 server: port: 80 # 生产环境端口方式 2命令行参数指定优先级更高打包为 jar 后启动时通过--参数覆盖bash运行java -jar your-project.jar --spring.profiles.activeprod方式 3系统环境变量指定设置系统环境变量SPRING_PROFILES_ACTIVEtestSpring Boot 自动识别并激活 test 环境。3. 进阶用法多环境合并与分组若配置按功能拆分如数据库、Redis可通过spring.profiles.include合并yaml# application-dev.yml spring: profiles: include: - db-dev # 合并数据库配置application-db-dev.yml - redis-dev # 合并Redis配置application-redis-dev.yml4. 实战目录结构plaintextsrc/main/resources/ ├── application.yml # 主配置激活环境 ├── application-dev.yml # 开发环境核心配置 ├── application-prod.yml # 生产环境核心配置 ├── application-db-dev.yml # 开发环境数据库配置 └── application-db-prod.yml # 生产环境数据库配置二、外部配置加载的核心规则Spring Boot 加载配置遵循「后加载者优先」原则后面的配置覆盖前面的以下按优先级从低到高梳理1. 配置加载优先级核心优先级加载位置说明1最低classpath:/项目内部 src/main/resources 目录默认位置2classpath:/config/项目内部 src/main/resources/config 目录3./应用运行目录jar 包所在目录4./config/应用运行目录下的 config 文件夹生产环境最常用5./config/*/应用运行目录下 config 文件夹的子文件夹按字母序加载6Java 系统属性-D 参数如java -Dserver.port8089 -jar app.jar7操作系统环境变量如SPRING_PROFILES_ACTIVEprod大写 下划线命名8命令行参数-- 参数如java -jar app.jar --server.port80839激活的 profile 配置文件如 application-prod.yml 覆盖 application.yml10最高远程配置中心Nacos/Apollo 等覆盖所有本地配置2. 实战验证示例假设存在以下配置classpath:application.ymlserver.port8080./config/application.ymlserver.port8081启动命令java -Dserver.port8082 --server.port8083 -jar your-app.jar最终生效端口为8083优先级顺序命令行参数 Java 系统属性 外部 config 配置 内部配置。3. 实用技巧生产环境核心配置数据库密码、端口放在./config/application.yml无需修改 jar 包即可调整临时调试通过命令行参数快速切换环境如--spring.profiles.activetest避免冲突远程配置中心只放核心业务配置本地保留基础配置便于排查问题。总结多配置文件核心命名规范遵循application-{profile}.yml/properties主配置存放公共配置激活方式主配置文件指定为默认方式命令行 / 环境变量可覆盖合并用法通过spring.profiles.include拆分功能型配置文件。配置加载核心优先级规则外部配置 内部配置命令行 / 系统属性 环境变量 配置文件远程配置 本地配置生产常用./config/目录优先级高于项目内部 config无需打包即可调整配置核心原则后加载的配置会覆盖先加载的同名配置。

相关新闻

SpringBoot中多配置文件和外部配置文件加载顺序

SpringBoot中多配置文件和外部配置文件加载顺序

2026/7/8 12:15:22 阅读更多 →
@PropertySource@ImportResource@Bean

@PropertySource@ImportResource@Bean

2026/7/8 14:21:44 阅读更多 →
Python入门——字符串

Python入门——字符串

2026/7/8 22:43:00 阅读更多 →

最新新闻

粉笔OMO模式解析:线上线下打通,数据闭环怎么玩?

粉笔OMO模式解析:线上线下打通,数据闭环怎么玩?

核心结论:粉笔的OMO(Online-Merge-Offline)模式是公考培训行业"线上技术线下体验"融合的代表性案例。其核心逻辑是:线上承担"内容交付数据采集AI辅助"的功能,线下承担"学习氛围互动答疑模拟实…

2026/7/9 6:13:28 阅读更多 →
学生最常用的AI软件怎么选

学生最常用的AI软件怎么选

学生群体用AI,核心需求很明确:免费额度够用、零基础能上手、中文回答自然、能覆盖学习与创作场景,还能适配课程作业、论文、项目、复习等不同任务。下面从主流AI软件出发,结合学生高频使用场景,聊聊每款工具的真实定位…

2026/7/9 6:07:27 阅读更多 →
2026微信小程序开店找哪家公司,小程序模板数量和质量横向测评

2026微信小程序开店找哪家公司,小程序模板数量和质量横向测评

今天给大家带来2026微信小程序开店找哪家公司,小程序模板数量和质量横向测评。据WeChat Mini Program Development Guide 2025数据显示,截至2024年微信小程序总数已突破430万个,95%的中国企业拥有自己的小程序;腾讯控股2025年财报…

2026/7/9 6:07:27 阅读更多 →
微信API结合GEO:如何用Python自动把私域聊天沉淀为知识库资产

微信API结合GEO:如何用Python自动把私域聊天沉淀为知识库资产

在大模型搜索(Generative Engine Optimization, GEO)时代,企业最核心的资产就是高价值的真实问答语料。个人微信是私域流量的源头,用户在里面的提问,恰恰是企业最真实的“痛点数据”。 今天不扯大模型怎么调&#xff…

2026/7/9 6:07:27 阅读更多 →
昆仑万维四大AI模型开源部署指南:世界模型、视频生成、音乐创作与智能体实战

昆仑万维四大AI模型开源部署指南:世界模型、视频生成、音乐创作与智能体实战

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在WAIC世界人工智能大会上,昆仑万维发布了四大AI模型技术矩阵,涵盖世界模型、视频生成、音乐创作和机器人…

2026/7/9 6:05:27 阅读更多 →
车间地面选型避坑:三个真实案例,看懂钱该往哪花

车间地面选型避坑:三个真实案例,看懂钱该往哪花

干工装二十年,我见过最可惜的画面不是设备坏了,是设备好好的,地面先废了。老板站在车间门口,看着崭新的设备搁在起砂起皮的地面上,进退两难——铲掉重做,产线得停;硬撑下去,越跑越糟…

2026/7/9 6:03:26 阅读更多 →

日新闻

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 还在为Foobar2000找不到高质…

2026/7/9 0:01:04 阅读更多 →
ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook 你是否曾经为学术书籍的封面设计而烦恼?想要一个既专业又美观的封…

2026/7/9 0:03:06 阅读更多 →
如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 在当今数据驱动的商业环境中,企业级数据库连接已成为现代应用开发的核心需求。pyodbc作为一款强大…

2026/7/9 0:07:11 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻