开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境。而测试环境和生产环境的数据库地址、服务器端口等配置都不同。在为不同环境打jar包时,需要频繁的修改application.yml配置文件,十分麻烦。
可以采用创建多个配置文件的方法解决这一问题。

创建以下三个文件,配置不同环境的地址信息,存放在application.yml同一目录下:

application-dev.yml:本地开发环境
application-test.yml:测试环境
application-prod.yml:生产环境

默认情况下,一开始创建spring boot 项目只有application.properties文件,没有xxxx.yml文件。

这个时候我们启动程序,默认端口是8080。

我们创建application.yml文件,并写上如下代码

server:
  port: 8085

这个时候我们启动程序会发现,端口号变成了8085

然后我们创建application-dev.yml文件,里面的代码改成:

server:
  port: 8083

并且把application.yml代码改成下面这样:

server:
  port: 8085

spring:
  profiles:
    active: dev
    

上面的active:dev 表示使用dev中的配置,重新启动程序发现端口号变成8083了

对于这两个文件的优先级,如果只有application.yml文件,则全部使用这里面的文件配置,如果在application.yml中指定了profiles的active文件,那么就按照这个指定的文件进行寻找。

也就是先寻找active指定的配置文件里面的内容,如果没有找到则去找application.yml中的内容。