SpringBoot - 配置文件加载位置与优先级
SpringBoot - 配置文件加载位置与优先级
【1】项目内部配置文件
spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件
–file:./config/
–file:./
–classpath:/config/
–classpath:/
即如下图所示:
以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。
SpringBoot会从这四个位置全部加载主配置文件,如果高优先级中配置文件属性与低优先级配置文件不冲突的属性,则会共同存在—互补配置。
我们也可以通过配置spring.config.location来改变默认配置。
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar
--spring.config.location=D:/application.properties
项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置。
指定配置文件和默认加载的这些配置文件共同起作用形成互补配置。
【2】外部配置加载顺序
SpringBoot也可以从以下位置加载配置:优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置。
1.命令行参数
- 所有的配置都可以在命令行上进行指定;
- 多个配置用空格分开; –配置项=值
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar
--server.port=8087 --server.context-path=/abc
2.来自java:comp/env的JNDI属性
3.Java系统属性(System.getProperties())
4.操作系统环境变量
5.RandomValuePropertySource配置的random.*属性值
6.jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
7.jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
8.jar包外部的application.properties或application.yml(不带spring.profile)配置文件
9.jar包内部的application.properties或application.yml(不带spring.profile)配置文件
由jar包外向jar包内进行寻找,优先加载待profile的,再加载不带profile的。
10.@Configuration注解类上的@PropertySource
11.通过SpringApplication.setDefaultProperties指定的默认属性
参考官网地址
官网图示如下:
SpringBoot - 配置文件加载位置与优先级相关推荐
- springboot配置文件加载位置
高优先级覆盖低优先级 配置互补
- Spring boot配置文件加载位置
配置文件加载位置 springboot 启动 会扫描以下位置的application.properties 或者application.yml文件,作为Spring boot的默认配置文件 –file ...
- 配置文件加载位置||外部配置加载顺序||自动配置原理
配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...
- Springboot 配置文件的加载位置以及优先级和外部配置文件加载的优先级
配置文件的加载位置: springboot在启动时会扫描以下位置的application.properties文件或者application.yml文件作为springboot默认的配置文件. 项目目 ...
- springboot配置文件加载顺序_「SpringBoot系列」配置文件加载优先级解析
SpringBoot提供了外部分配置功能,可以使用属性文件(properties).YAML(yml)文件.环境变量和命令行参数来进行处部参数配置,并t以特定的顺序来处理配置,以便于允许合理的覆盖值. ...
- springBoot配置文件加载原理探究
尽管用springBoot做开发已经有很长一段时间了,在开发时一般都是直接将application.properties或application.yml,放在开发环境的resources下的,运行起来 ...
- SpringBoot之配置文件加载位置
1.简介 SpringBoot启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件 优先级由高到低,高优先级的配 ...
- springboot配置文件加载顺序
1.同一目录下,properties配置优先级 > YAML配置优先级. 2.SpringBoot配置文件可以放置在多种路径下,不同路径下的配置优先级有所不同.可放置目录(优先级从高到低) fi ...
- Spring : Spring配置文件加载位置
1.美图 2.概述 spring boot启动会扫描以下位置的application.properties或者applicatior.yml文件作为Spring boot的默认配置文件 file:./ ...
最新文章
- zigbee 端点描述符
- Python lambda表达式
- mac 用惠普扫描仪扫描提示将对您的电脑造成伤害_惠普全能打印神器测评:15秒智能闪充、打一张仅需5分钱...
- python文件流读取二进制_Python使用web.py从POST请求中提取二进制文件
- openlayers3 根据经纬度 自动画框_用这软件,让你的电脑自动搞黄色
- 人工智障学习笔记——机器学习(4)支持向量机
- blui_BLUI:一种创建游戏UI的简单方法
- 135. 分发糖果(JavaScript)
- Java 学习笔记之 线程安全
- java websocket 后台服务器_Unity3D与Java后台TomCat服务器传递数据和文件(1)建立Java服务器...
- linux包含绝对路径头文件,linux-kernel - 访问用户空间内存访问函数(如access_ok(),get_from_user())需要包含的头文件的确切路径。 - 堆栈内存溢出...
- 机器学习基础算法13-回归实例-时间序列分析ARIMA
- 天天Android: (EditText明文、密文切换)
- Atitti onvif 设备发现与原理
- Java垃圾回收机制(GC)
- c# winform 支付宝付款
- 惠普台式计算机系统系统修复,一键恢复系统,详细教您怎么一键恢复惠普笔记本系统...
- 【Rust 日报】2021-12-23 Rust有什么是Zig所没有的?
- Unity --- 角色移动时播放动画 与 动画剪辑
- 奥迪q5计算机控制显示,奥迪q5仪表盘功能图解,奥迪q5仪表盘怎么切换
热门文章
- QT5日志功能(qDebug、qWarnng、qCritical、qFatal)
- python制作一个简单的udp聊天器
- python函数的使用方法图解_零基础python之4函数重用-函数与模块(附详细的步骤和程序)...
- Nandflash 驱动深度分析(基于S3C2410)
- Stack与queue的底层实现、区别。
- java excel odbc_Java:无法使用JDBC ODBC更新Excel
- react 中组件隐藏显示_React组件开发中常见的陷阱及解决
- android camera 动画,Android 使用Camera创建3D动画
- python-MYSQL(包括ORM)交互
- 越狱Season 1- Episode 16