8.spring配置文件的加载位置
4处加载位置如图所示:若存在多个配置文件,springboot会全部加载,相同配置,高优先级会覆盖掉低优先级,形成互补配置
2.我们还可以使用spring.config.location来改变默认的配置文件路径
项目打包好后,我们可以使用命令行参数的形式,启动项目指定配置文件的新路径,指定的配置文件和默认加载的那些配置文件共同起作用!
java -jar jar包名称 --spring.config.location=配置文件新路径
这个指定的配置文件优先级最高,常用于运维!
springboot外部配置的加载顺序
springboot也可以从以下的位置加载配置,优先级从高到底,高优先级的配置会覆盖低优先级的配置,所有的配置会形成互补配置
1.命令行参数:多个配置用空格分开
java -jar jar包名称 --server.port=8087 --server.contex-path=/hello
2.来自java:comp/env的NDI属性
3.java系统属性(system.getProperties()))
4.操作系统环境变量
5.RandomValuePropertySource的random.*属性值
将外部配置文件和jar包放在同一目录:直接可使用java -jar jar包形式启动,并加载配置文件内容!
6.jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
7.jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
8.jar包外部的application-{profile}.properties或application.yml(不带spring.profile)配置文件
9.jar包内部的application-{profile}.properties或application.yml(不带spring.profile)配置文件
10.@Configuration注解类上的@propertySource
11.使用SpringApplication.setDefaultProperties指定的默认属性
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义