「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)

2023年1月13日10:26:39

Spring Boot Profiles

Profile的是配置文件的意思,我们在开发Spring Boot应用时,通常同一个项目会被安装到不同的环境,而不同的环境又需要不同的配置。比如:

  • 开发环境,应用需要连接一个可供调试的数据库单机进程
  • 生产环境,应用需要使用正式发布的数据库,通常是高可用的集群
  • 测试环境,应用只需要使用内存式的模拟数据库

其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么就会非常麻烦。

Spring框架提供了profile的管理功能,我们可以使用profile功能来区分不同环境的配置。然后可以通过激活、指定参数等方式快速动态的切换环境。

profile配置方式

1) 多文件方式
新建多个配置文件,命名格式:application-环境名.yml
「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)

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「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)
紧接着启动该项目,你会在控制台看到此时的环境就是你刚才设置的开发环境,覆盖了我们在配置文件中的激活配置
「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)

3) 命令行参数
第一种:--spring.profiles.active=pro
「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)
第二种:java -jar xxx.jar --spring.profiles.active =test
使用maven打包项目,打开该jar包所在目录,接着启动该项目,不会可以参考这个>>>Spring Boot的启动方式
「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)

最后
祝大家学的愉快,学的神速。
有帮助的话,各位小伙伴可以点个赞收藏支持下啦!❤️
也欢迎关煮博主,一个正在努力变强的程序员~

  • 作者:Binaire-沐辰
  • 原文链接:https://binaire.blog.csdn.net/article/details/125596202
    更新时间:2023年1月13日10:26:39 ,共 1174 字。