本次开发环境为:
系统:Windows 10 10.0
JDK:JRE: 1.8.0_152-release-1136-b43 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
开发工具:IntelliJ IDEA 2018.1.8
springboot框架:2.2.0

在SpringBoot中主要配置文件为application.properties配置文件,该文件我们也可以更改为application.yml,这里我们就直接采用application.yml的配置来实现生产、开发的配置分离。

1、创建两个文件,分别代表生产与开发。

image.png
image.png

2、在application.yml中增加如下配置参数:
spring:
  profiles:
    active: dev
3、分别在dev和prod中增加port的配置,进行分别引用测试

application-dev.yml

server:
  port: 8081

application-prod.yml

server:
  port: 8082

使用dev配置时
image.png

使用prod配置时
image.png

至此生产与开发的配置文件我们分离完成。
这里有个主意事项,如果application.yml中也存在port的配置时,与其激活的application-dev.yml哪个会优先呢?下面我们做个试验:
image.png

如图所示,被激活的开发配置文件直接覆盖了主配置文件中的port的配置参数,结论:子配置文件优先于核心配置文件,或者是会覆盖核心配置文件。
代码示例

本文的相关例子可以查看仓库中的RapidDevelopment目录:
Gitee 地址

如果您觉得本文不错,欢迎Star支持

本文声明:


知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。