springboot项目打成jar包后 ,配置文件加载的优先级顺序
Spring Boot会按照以下顺序来加载配置文件:
1、内置默认值:Spring Boot会首先加载内置的默认值,这些默认值定义在Spring Boot的代码中,例如,内置的默认端口号为8080。
2、应用级别的配置文件:Spring Boot会从以下位置加载应用级别的配置文件,这些位置按照优先级逐一检查:
当前目录下的/config文件夹。
当前目录。
classpath下的/config包。
classpath根目录。
例如,如果应用的名称为"myapp",则Spring Boot会尝试加载以下文件:
./config/myapp.properties
./config/myapp.yml
./myapp.properties
./myapp.yml
classpath:/config/myapp.properties
classpath:/config/myapp.yml
classpath:/myapp.properties
classpath:/myapp.yml
3、项目级别的配置文件:Spring Boot会从以下位置加载项目级别的配置文件,这些位置按照优先级逐一检查:
当前目录下的/config文件夹。
当前目录。
classpath下的/config包。
classpath根目录。
例如,如果应用的名称为"myapp",则Spring Boot会尝试加载以下文件:
./config/application.properties
./config/application.yml
./application.properties
./application.yml
classpath:/config/application.properties
classpath:/config/application.yml
classpath:/application.properties
classpath:/application.yml
4、命令行参数:Spring Boot会加载命令行中指定的任何属性值,这些属性值会覆盖之前加载的任何属性值。例如,通过在命令行中指定--server.port=9090可以覆盖默认的8080端口号。
注意:加载优先级逐一降低,即优先级高的配置文件会覆盖优先级低的配置文件中的属性值。因此,应用级别的配置文件会覆盖项目级别的配置文件中的属性值,而命令行参数会覆盖所有其他位置的属性值。
本文来自博客园,作者:视觉工作室-NASK-Arya,转载请注明原文链接:https://www.cnblogs.com/llp2333/p/17321306.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端