1. profile是用来完成不同环境下,配置动态切换功能的。
我们在开发Spring Boot 应用时,通常同一套程序会被安装到不同环境,例如:开发、测试、生产等。其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么非常麻烦。profile 功能就是来进行动态配置切换的。
2.profile配置方式
多profile文件方式:提供多个配置文件,每个代表一种环境。
application-dev.properties/yml 开发环境
application-test.properties/yml 测试环境
application-pro.properties/yml 生产环境
yml多文档方式:
在yml中使用 --- 分隔不同配置
3. profile激活方式
1.创建一个演示项目 springboot-profile
2.创建多个环节的配置文件,并在每个配置文件设置不同的 server.port 端口号
- application-dev.properties/yml 开发环境
- application-test.properties/yml 测试环境
- application-pro.properties/yml 生产环境
这里我们选择后缀 .properties 的配置文件进行验证。
复制
三个配置文件分别设置端口号:
application-dev.properties
server.port=8081
复制
application-pro.properties
server.port=8082
复制
application-test.properties
server.port=8083
复制
在 application.properties 配置文件激活使用哪个环境的配置文件:
# 激活使用哪个环节的配置文件
spring.profiles.active=dev
复制
其他环境的切换可以自行验证。
“在yml中使用 --- 分隔不同配置 ”
1.为了不影响验证,我们首先将项目上面写的配置信息全部注释
好了,现在没有配置文件干扰之后,我们来新建一个 yml 配置。
2.创建 application.yml,添加各个环境的配置
---
# 开发环境的参数
server:
port: 8081
# 定义开发环境
spring:
config:
activate:
on-profile: dev
---
# 测试环境的参数
server:
port: 8082
# 定义测试环境
spring:
config:
activate:
on-profile: test
---
# 生产环境的参数
server:
port: 8083
# 定义生产环境
spring:
config:
activate:
on-profile: pro
---
# 配置使用哪个环境的参数
spring:
profiles:
active: test
复制
3.切换环境,确认启动的环境参数
在这里我们可以切换不同的环境参数进行启动。
在上面我们在配置文件编写的过程中,切换环境都是使用配置文件。那么还有另外两种方式可以试一下。
在VM options 指定:-Dspring.profiles.active=dev
1.配置启动的命令
2.确认启动效果
java –jar xxx.jar --spring.profiles.active=dev
复制
1.配置启动的命令
--spring.profiles.active=dev
复制
2.确认启动的效果
3.Jar包使用命令行参数
首先打一个jar包,使用命令行启动如下:
“注意:打包的时候将其他没有用的配置文件删除,不然打包会报错。 ”
java -jar springboot-profile-0.0.1-SNAPSHOT.jar
复制
首先默认启动,确认基于配置文件的启动环境:
当前使用的是 test 环境,下面我们用命令行切换为 dev 环境,如下:
java -jar springboot-profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
复制
1. profile是用来完成不同环境下,配置动态切换功能的。
我们在开发Spring Boot 应用时,通常同一套程序会被安装到不同环境,例如:开发、测试、生产等。其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么非常麻烦。profile 功能就是来进行动态配置切换的。
2.profile配置方式
多profile文件方式:提供多个配置文件,每个代表一种环境。
application-dev.properties/yml 开发环境
application-test.properties/yml 测试环境
application-pro.properties/yml 生产环境
yml多文档方式:
在yml中使用 --- 分隔不同配置
3. profile激活方式
1.创建一个演示项目 springboot-profile
2.创建多个环节的配置文件,并在每个配置文件设置不同的 server.port 端口号
- application-dev.properties/yml 开发环境
- application-test.properties/yml 测试环境
- application-pro.properties/yml 生产环境
这里我们选择后缀 .properties 的配置文件进行验证。
复制
三个配置文件分别设置端口号:
application-dev.properties
server.port=8081
复制
application-pro.properties
server.port=8082
复制
application-test.properties
server.port=8083
复制
在 application.properties 配置文件激活使用哪个环境的配置文件:
# 激活使用哪个环节的配置文件
spring.profiles.active=dev
复制
其他环境的切换可以自行验证。
“在yml中使用 --- 分隔不同配置 ”
1.为了不影响验证,我们首先将项目上面写的配置信息全部注释
好了,现在没有配置文件干扰之后,我们来新建一个 yml 配置。
2.创建 application.yml,添加各个环境的配置
---
# 开发环境的参数
server:
port: 8081
# 定义开发环境
spring:
config:
activate:
on-profile: dev
---
# 测试环境的参数
server:
port: 8082
# 定义测试环境
spring:
config:
activate:
on-profile: test
---
# 生产环境的参数
server:
port: 8083
# 定义生产环境
spring:
config:
activate:
on-profile: pro
---
# 配置使用哪个环境的参数
spring:
profiles:
active: test
复制
3.切换环境,确认启动的环境参数
在这里我们可以切换不同的环境参数进行启动。
在上面我们在配置文件编写的过程中,切换环境都是使用配置文件。那么还有另外两种方式可以试一下。
在VM options 指定:-Dspring.profiles.active=dev
1.配置启动的命令
2.确认启动效果
java –jar xxx.jar --spring.profiles.active=dev
复制
1.配置启动的命令
--spring.profiles.active=dev
复制
2.确认启动的效果
3.Jar包使用命令行参数
首先打一个jar包,使用命令行启动如下:
“注意:打包的时候将其他没有用的配置文件删除,不然打包会报错。 ”
java -jar springboot-profile-0.0.1-SNAPSHOT.jar
复制
首先默认启动,确认基于配置文件的启动环境:
当前使用的是 test 环境,下面我们用命令行切换为 dev 环境,如下:
java -jar springboot-profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
复制