两种方式实现Springboot的多环境配置(一)——使用Springboot自带profile管理功能

背景

有三个配置文件(.properties文件和.yml文件一样道理嘛),分别是:

application.properties(默认配置)文件内容:server.port=8080

application-dev.properties(开发环境)文件:server.port=8082

application-prod.properties(生产环境)文件:server.port=8081

方式一、使用Springboot自带的功能实现

步骤:

1、给application.properties增加属性配置,默认附加上application-dev.properties配置文件

spring.profiles.active=dev

如果是yml,配置就是

spring: 
    profiles: 
        active: dev

 修改后的application.properties文件内容

spring.profiles.active=dev
server.port=8080

2、在IDE中运行时如何指定配置文件

在Active profiles中设置相应的配置即可:

设置为dev,表示使用application.properties + application-dev.properties

设置为prod,表示使用application.properties + application-prod.properties

如果application.properties和application-dev.properties中有重复的配置(比如我这里都配置了server.port),application-dev.properties中的配置会覆盖掉application.properties得配置,比如我在IDE中指定使用dev配置文件运行时的结果:

3、打包后运行时如何指定配置文件

#注意,这里打包的话,就直接mvn clean package -Dmaven.test.skip=true 就行,不需要指定-P参数(因为我们没有用maven来管理profile)

打包完成之后,我们使用java -jar方式执行文件时,可以通过指定 --spring.profiles.active=prod来设置使用prod配置文件:

#指定配置文件为application.properties+application-prod.properties
java -jar .\springboot-study-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

#指定配置文件为application.properties+application-dev.properties
java -jar .\springboot-study-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

#不加--spring.profiles.active的话,指定配置文件为application.properties+
#application-dev.properties(我们的默认附加是dev)
java -jar .\springboot-study-0.0.1-SNAPSHOT.jar

使用该方式的优点:

打包之后可以动态的指定加载哪个配置文件(--spring.profiles.active),因为所有的配置文件都会被打包进来

方式二、Springboot+maven实现(点我直达)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值