《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案2

阿丹-有话说:

        第二种多环境的配置选择解决方案,这个更加的灵活没在配置方面都选择了一种yml的书写方式。

原理:

在Spring Boot中,spring.profiles.active 属性用于指定当前应用程序应激活哪个环境配置。当Spring Boot应用启动时,它会读取应用的配置文件(通常是application.properties或application.yml格式),查找这个属性来决定加载哪些特定于环境的额外配置。

具体原理如下:

  1. 多环境配置:Spring Boot支持为不同的环境创建多个配置文件。例如,我们可以有application-test.ymlapplication-dev.ymlapplication-prod.yml等,分别对应测试环境、开发环境和生产环境的配置。

  2. 激活配置:通过设置spring.profiles.active属性的值,可以指定要激活哪一个环境配置。如上所示配置,将active属性设置为test意味着应用将在启动时加载application-test.yml中的配置,同时也会合并主配置文件application.ymlapplication.properties中的通用配置。

  3. 配置加载顺序:Spring Boot在启动时按照一定的优先级加载这些配置文件。默认情况下,先加载application.ymlapplication.properties,然后根据spring.profiles.active指定的环境加载相应的配置文件,并覆盖通用配置中相同键的值。

  4. 命令行参数与环境变量:除了在配置文件中直接指定外,还可以通过命令行参数(如 -Dspring.profiles.active=test)或者系统环境变量的方式来动态切换激活的环境配置。

总结起来,spring.profiles.active=test的作用就是指示Spring Boot框架在运行时加载并使用application-test.yml中的配置信息,从而实现应用在不同环境下的平滑切换。

整体配置文件结构:

《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案2_第1张图片

配置文件的前缀不用动,后缀改掉就可以。

application.yml中的选择配置文件的重要语句。

spring:
  profiles:
#    active: formaldocker
#    active: docker
    active: test

使用注意:

这个方式需要自己书写三种正确的配置文件yml,一些公用的配置可以写在公共的application.yml中,这样就可以完成了。

你可能感兴趣的:(优雅写代码,spring,spring,数据库,sql)