我是经常会遇到不同环境配置不同参数的情况,例如我们在本地开发环境的端口1111 但是测试环境就要换成2222,线上环境端口就要换成8080端口,为了应对这种情况, spring boot给我们提供了更成熟的方案。

  1. 配置公共文件
    spring boot默认配置文件是application.properties这里我们采用另外一种简便格式 application.yml 我们配置公共内容如下:

    1
    2
    3
    4
    5
    6
    7
    orivon:
    version: 1.2.0
    apiversion: 1.2.1

    spring:
    profiles:
    active: dev
    • 第一个是配置我们产品的相关版本信息,这样升级的时候可以很容易看到版本等信息更好的维护产品的运行,第二行就是指明我们默认加载开发环境下的配置内容
  2. 创建环境的配置文件

    我们假设如下几个环境场景:测试环境,开发环境,线上环境,我们分配配置如下几个文件(spring boot环境配置文件遵循以下格式appilication-{$varsion}.yml)否组不予加载

    测试环境: application-test.yml
    开发环境: application-dev.yml
    线上环境: application-prod.yml

    分别制定在里面写个server.port={$port}

    我这里设置测试1111,开发8888,线上8080
    大家可以随便设置,来测试端口是否已经发生了改变

  3. 加载不同的配置文件

    讲完了环境配置文件,我们要切换配置文件怎么办呢?当我们编写完了程序,需要进行打包,这里我就打包成jar文件了,通过mvn install来打包jar文件,生成完毕后会存放在target/XXXX.1.0.0-XXX.jar的文件,我们只需要拷贝到线上环境通过java -jar XXXX.jar --spring.profiles.active=prod后面这个就是配置使用哪个配置文件啦,使用test就可以啦,不用带其他的内容,即可完成配置,并成功运行啦,给个成功运行的效果图

    运行成功效果图

    每日名言:生命力的意义在于拼搏,因为世界本身就是一个竞技场。