Spring Boot Profiles
Profile的是配置文件的意思,我们在开发Spring Boot应用时,通常同一个项目会被安装到不同的环境,而不同的环境又需要不同的配置。比如:
开发环境,应用需要连接一个可供调试的数据库单机进程
生产环境,应用需要使用正式发布的数据库,通常是高可用的集群
测试环境,应用只需要使用内存式的模拟数据库
其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么就会非常麻烦。
Spring框架提供了profile的管理功能,我们可以使用profile功能来区分不同环境的配置。然后可以通过激活、指定参数等方式快速动态的切换环境。
profile配置方式
1) 多文件方式
新建多个配置文件,命名格式:application-环境名.yml
application-dev.yml 开发环境
server: port: 8081 # 给配置文件起名字,方便主配置文件引用 spring: config: activate: on-profile: dev
application-pro.yml生产环境
server: port: 8082 spring: config: activate: on-profile: pro
application-test.yml测试环境
server: port: 8083 spring: config: activate: on-profile: test
2) yml多文档方式
该方式只需要一个application.yml配置文件即可,在配置文件中使用 — (三个横杠)来分隔不同的环境配置
--- server: port: 8081 spring: profiles: dev --- server: port: 8082 spring: profiles: pro --- server: port: 8083 spring: profiles: test ---
profile激活方式
1) 配置文件
在yml配置文件中配置:
spring: profiles: active: test
2) 虚拟机参数
在VM options指定:-Dspring.profiles.active -dev
紧接着启动该项目,你会在控制台看到此时的环境就是你刚才设置的开发环境,覆盖了我们在配置文件中的激活配置
3) 命令行参数
第一种:--spring.profiles.active=pro
第二种:java -jar xxx.jar --spring.profiles.active =test
使用maven打包项目,打开该jar包所在目录,接着启动该项目,不会可以参考这个>>>Spring Boot的启动方式