SpringBoot学习(五):springboot之profile详解

在使用springboot中,application.properties和application.yml这两个是默认的配置文件,有时我们想使用指定的配置文件,那么就需要什么Profile。

我们在编写指定的配置文件时,文件名可以是: application-{profile}.properties/yml

一:properties格式:

我们创建了一个spring boot项目,里面有默认默认文件application.properties,设置端口号为8081

创建application-dev.properties,当做开发环境配置文件,设置端口号为8082

创建application-pro.properties,当做生产环境配置文件,设置端口号为8083

SpringBoot学习(五):springboot之profile详解_第1张图片

 

SpringBoot学习(五):springboot之profile详解_第2张图片

 

运行main(),从控制台可以看到使用的端口号是8081,说明读取的是默认配置文件application.properties。

No active profile set 也说明没有激活配置文件

SpringBoot学习(五):springboot之profile详解_第3张图片

假设我们现在处于开发阶段,需要使用的端口是8082,这里默认的配置文件application.properties不需要指定端口号,可以这么写:

spring.profiles.active=dev 其中dev指的是application-dev.properties中的这个dev相对应

配置好后运行,从控制台可以看出,这里读取的是开发环境配置文件,端口号8082

SpringBoot学习(五):springboot之profile详解_第4张图片

同理,如果想读取application-pro.properties配置文件,可以写spring.profiles.active=pro

 

第二种情况:

如果没有默认的配置文件application.properties,也就没办法写srping.profile.active=dev了,那要怎么激活某个配置文件呢。

现在我们把默认的配置文件application.properties文件删除掉。然后运行main(),从控制台可以看出,端口号是8080,即没有使用8082,也没有使用8083,说明两个配置文件都没有激活

SpringBoot学习(五):springboot之profile详解_第5张图片

 

这时我们可以使用虚拟机的方式

 在VM options下使用命令:-Dspring.profiles.active=dev

SpringBoot学习(五):springboot之profile详解_第6张图片

控制台输出端口号为8082,开发环境的配置文件已经被激活。SpringBoot学习(五):springboot之profile详解_第7张图片

 

第三种情况:

默认的application.properties文件被删除,或者里面没有指定要激活的配置文件(忘了写spring.profiles.active=pro),这时项目已经被打成jar包,怎么办?也是可以解决的。

首先,application.properties文件已被删除,application-dev.properties端口号是8082,application-pro.properties端口号是8083,项目已打成jar包(这里就不叙述怎么打jar包了),打开cmd,进入到jar所在的目录,运行:

java -jar testproject-0.0.1-SNAPSHOT.jar

(注意:testproject-0.0.1-SNAPSHOT.jar是我jar的名字,这里替换成自己jar名字。)

从控制台可以看到,项目运行的端口号是8080,说明没有激活开发/生产配置文件。

SpringBoot学习(五):springboot之profile详解_第8张图片

 

现在我们想激活生产配置文件,可以在java -jar testproject-0.0.1-SNAPSHOT.jar 后面 加上 --spring.profiles.active=pro

如:  java -jar testproject-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro

从图片中可以看出,这里使用的端口号是8083

SpringBoot学习(五):springboot之profile详解_第9张图片

 

二:yaml格式:

先把之前创建的application-dev.properties和application-pro.properties配置文件删除,然后创建一个application.yaml配置文件如:

 

你可能感兴趣的:(SpringBoot)