【SpringBoot】多环境配置和启动

环境分类,可以分为 本地环境、测试环境、生产环境等,通过对不同环境配置内容,来实现对不同环境做不同的事情。

SpringBoot 项目,通过 application-xxx.yml 添加不同的后缀来区分配置文件,启动时候通过后缀启动即可。

  • application.yml : 公共配置
  • application-xxx.yml:不同环境的差异配置

1 创建yml配置

新建多个环境的配置文件,每个配置文件对应环境的配置,比如可以修改端口号,服务器IP不同

  • 本地环境

    直接使用默认的application.yml文件

  • 测试环境

    新建application-beta.yml,设置测试环境相关的配置项

    server:
      port: 8080
    
    spring:
      datasource:
        url: "jdbc:mysql://xxx.beta.com:3307/xxx?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false"
        driver-class-name: com.mysql.cj.jdbc.Driver
        username: root
        password: 123456
  • 生产环境

    新建application-prod.yml,设置环境相关的配置项

    server:
      port: 8080
    
    spring:
      datasource:
        url: "jdbc:mysql://xxx.prod.com:3307/xxx?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false"
        driver-class-name: com.mysql.cj.jdbc.Driver
        username: root
        password: 123456

image-20230924191444074

2 打包

点击右侧【Maven】->【Lifecycle】->【package】, 生成jar包

image-20230924191600437

3 指定配置文件启动

SpringBoot 项目,通过 application.yml 添加不同的后缀来区分配置文件

在启动项目时,通过命令行传入环境变量,

  • 本地

    java -jar .xxx-0.0.1-SNAPSHOT.jar
  • 测试环境(beta)

    java -jar .xxx-0.0.1-SNAPSHOT.jar --spring.profiles.active=beta
  • 生产环境(prod)

      java -jar .xxx-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

总结

Springboot 多环境配置还是挺简单的,主要了解yml的配置规则和启动命令,同时也内置了Tomcat服务器,可以一键启动。