Spring Boot中 Profile 多环境配置

                                     Spring Boot配置 -- Profile

首先了解什么是Profile, 他的用处是什么

    Profile是Spring对不同环境提供不同配置功能的支持, 可以通过激活 , 制定参数等方式快速切换环境

  • 多profile文件形式: 

                 -- 格式  : application - {profile}.properties :

                        eg : application-test.properties       application-pro.properties

  • 多profile文档块模式:

                     yaml文件 : application.yml

  • 激活方式:

                 - 命令行      -- spring.profiles.active = test

                 - 配置文件   spring.profile.active = test

                 - jvm参数     -Dspring.profile.active = test   (-D是重点)

演示:

1.直接在配置文件中指定

我们在application.properties下配置启动端口号为 : 8888 

    application-test.properties下配置启动端口号为 : 8088

默认情况下SpringBoot会加载applica.properties中的配置

启动成功:

然后我们在application,properties中改变配置文件:

然后我们启动项目 :

可以看到浏览器也启动成功了 : 

这时我们访问8888端口是失败的 :

说明在配置文件中指定的方法是成功的

2.yml多文件块模式中指定

首先我们创建application.yml 文件, 然后在文件中写入以下配置:

然后我们启动文件注意要把application.properties 中的配置注释掉 , 不然Spring boot会默认使用application.properties中的配置:

测试表明使用yml多文件块模式也是可以使用的

3.使用命令行的方式:

打开启动配置:

在program arguments中写上 : --spring.profiles.active=test

启动项目:

命令行成功生效

还有一种方式 : 将maven项目打包  

打开项目所在位置:

进入cmd控制 : 

输入 : java -jar springbootprofile-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro 启动项目并指明配置文件 :

这种方式也是可以的

4.设置虚拟机参数:

打开启动配置:

在虚拟机参数上填写 : -Dspring.profiles.active=test

然后启动项目:

因此设置虚拟机参数也是可行的

以上便是几种 SpringBoot 中profile的配置方式 !

 

补充:___

配置文件加载位置:

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件

  • –file:./config/

  • –file:./

  • –classpath:/config/

  • –classpath:/

优先级由高到底,高优先级的配置会覆盖低优先级的配置

SpringBoot会从这四个位置全部加载主配置文件   :   互补配置

 


版权声明:本文为weixin_43287239原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。