程序在开发完毕以后,会有很多种运行场景,比如开发,测试,生产环境当中。此时需要每
次都修改环境配置,诸如数据库配置信息一类。会较为麻烦,此时需要使用Profiles来解决问题。
SpringBoot提供的Profiles可以用来隔离应用程序配置的各个部分,并在特定环境下指定部
分配置生效。
1.使用“ - - -”来分隔不同环境的配置;
2.指定哪些配置属于哪个环境;
spring:
config:
activate:
on-profile: 环境名称
3.指定哪个环境的配置生效;‘
spring:
profiles:
active: 环境名称
使用pom文件进行简单的测试:
#通用信息,指定生效环境
#多环境下共性的属性
spring:
profiles:
active: pro
server:
servlet:
context-path: /ccc
---
#开发环境
spring:
config:
activate:
on-profile: dev
server:
port: 8081
---
#测试环境
spring:
config:
activate:
on-profile: test
server:
port: 8082
---
#生产环境
spring:
config:
activate:
on-profile: pro
server:
port: 8083
当最上方指定为:dev时:
spring:
profiles:
active: dev
运行结果为8081端口,与配置中有关dev的配置属性一致。
其余配置类似。
如果最上方的通用配置信息与下方特定环境中的属性冲突,则通用配置属性优先级别高。
但是这种配置信息一旦涉及太多,维护将变得比较复杂,所以需要使用多文件的方式进行分别管理
多环境开发配置信息。
**************************************************************分隔符*********************************************************************************
在resources目录下新建配置多个配置文件:
application.yml:
spring:
profiles:
active: test
application-dev.yml:
#开发环境
spring:
config:
activate:
on-profile: dev
server:
port: 8081
application-test.yml:
#测试环境
spring:
config:
activate:
on-profile: test
server:
port: 8082
application-pro.yml:
#生产环境
spring:
config:
activate:
on-profile: pro
server:
port: 8083
将配置文件以文件的形式分开提高管理和后期修改效率,测试运行也无误。