springboot项目不同环境的配置读取方式
更新时间:2024年11月08日 09:05:17 作者:北极熊不在北极
SpringBoot支持application.properties、application.yml、application.yaml三种配置文件类型,可同时存在并合并配置,配置文件的读取优先级为:application.properties > application.yml > application.yaml,不同位置的相同类型配置文件
一、首先我知道的是
springboot项目可以使用如下3种类型配置文件,并且可以同时存在。
springboot读取到的不同配置内容会进行合并,如果有配置了相同的配置项,则以如下优先顺序进行生效:
application.properties > application.yml > application.yaml
二、相同类型配置文件
放在不同位置,生效优先顺序如下:
- 1级: springboot-demo.jar同级目录: config/application.yml[最高)
- 2级: springboot-demo.jar同级目录 : application.yml
- 3级: classpath: config/application.yml
- 4级: classpath: application.yml
三、在一个配置文件中
也可以配置如下不同的环境配置
#设置启用的环境
spring:
profiles:
active: dev
---
spring:
profiles: dev
server:
port: 81
---
spring:
profiles: test
server:
port: 82
---
spring:
profiles: pro
server:
port: 83四、在application.yml文件中可以读取到pom文件中的配置
可用于配置当前环境
#设置启用的环境
spring:
profiles:
active: ${profile.active}
---
spring:
profiles: dev
server:
port: 81
---
spring:
profiles: test
server:
port: 82
---
spring:
profiles: pro
server:
port: 83pom文件中的配置如下:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin><profiles>
<!--dev环境-->
<profile>
<id>dev</id>
<properties>
<profile.active>dev</profile.active>
</properties>
</profile>
<!--test环境-->
<profile>
<id>test</id>
<properties>
<profile.active>test</profile.active>
</properties>
</profile>
<!--pro环境-->
<profile>
<id>pro</id>
<properties>
<profile.active>pro</profile.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
POI导出Excel报错No such file or directory的解决方法
这篇文章主要为大家详细介绍了POI导出Excel报错No such file or directory的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-11-11
SpringBoot+WebSocket实现即时通讯功能(J2EE方式)
WebSocket是一种在单个TCP连接上进行全双工通信的协议,WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,本文给大家介绍了SpringBoot+WebSocket实现即时通讯功能(J2EE方式),需要的朋友可以参考下2025-01-01


最新评论