含义:显式激活指定的配置文件。
SpringBoot在启动加载配置文件时,如没有明确指定spring.profiles.active属性,默认是加载application.yml或application.properties文件。
还可以使用以下命名约定来定义特定于配置文件的属性:
application-{profile}.yml或application-{profile}.properties
作用:特定于配置文件的文件始终会覆盖非特定文件,无论特定于配置文件的文件是在打包jar的内部还是外部。也就是说spring.profiles.active属性具有优先权。
在上一章节项目的基础上修改。
增加配置文件,项目结构图如下:
application.yml配置文件内容(默认指定启动local的配置):
server:
port: 9000
spring:
profiles:
active: local
application-local.yml配置文件内容:
class:
method:
firstmethod: fnA
secondmethod: fnB
params:
paramA: localA
paramB: localB
application-prod.yml配置文件内容:
class:
method:
firstmethod: fnA
secondmethod: fnB
params:
paramA: prodA
paramB: prodB
用mvn install或mvn package命令打包成Jar,并使用java -jar xxx.jar命令启动:
在地址栏输入:http://localhost:9000/test/config
按Ctrl+C退出
使用java -jar second_springboot-1.0-SNAPSHOT.jar --spring.profiles.active=prod命令启动:
在地址栏输入:http://localhost:9000/test/config
修改一下application.yml文件spring.profiles.active属性,改为动态参数的形式:
server:
port: 9000
spring:
profiles:
active: @profileActive@
profileActive名称可随意命名,只是在pom.xml使用时,要保持一致。
在pom.xml文件中的增加profiles配置:
4.0.0
com.oysept
second_springboot
1.0-SNAPSHOT
jar
org.springframework.boot
spring-boot-starter-parent
2.3.0.RELEASE
UTF-8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-maven-plugin
com.oysept.ServerApplication
${project.artifactId}-${profileActive}-${project.version}
src/main/resources
true
application.yml
application-${profileActive}.yml
local
local
true
prod
prod
使用mvn package -P prod将项目打包成Jar
结果:
Jar启动
该方式不需要在命令中指定srping.profiles.active属性了。
识别二维码关注个人微信公众号
本章完结,待续,欢迎转载!
本文说明:该文章属于原创,如需转载,请标明文章转载来源!