2022-6月更文挑战11-springboot项目配置文件指定方式

170 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情

springboot项目配置文件指定方式

前文

由于同一项目正常来说需要应用到开发、测试等多个环境中,而不同环境中环境一般有所不同。因此正常情况下需要在不同环境下指定不同的配置文件,本文主要将对于几种常用的指定配置文件启动方式进行总结。

通过application配置文件中字段进行指定

spring:
  profiles:
    active: dev

如上所示,主要通过yaml文件或properties中的属性字段进行版本指定,直接在属性中设定要需要采用的环境,直接也就会对于响应的配置文件进行获取及使用

通过java启动jar包命令增加属性进行指定

java -Dspring.profiles.active=dev -jar application.jar

这种方式与第一种直接在配置文件中的指定其实是异曲同工,只不过将原本位于配置文件中的信息,调整到启动jar包的命令行中进行处理。通过对于启动参数的调整,也就达到指定不同配置文件的目的。

通过java启动命令行进行直接处理

java -jar application.jar --spring.profiles.active=dev

这是通过命令行启动指定配置的另一种方式。与第二种方式的区别主要在于第二种相当于通过java属性的方式设定,而该方式为直接进行配置文件加载的方案。但实际上二者的作用是没有什么区别的。

通过pom文件中的属性参数进行处理

    <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <environment>dev</environment>
            </properties>
        </profile>
    </profiles>
spring:
  profiles:
    active: @environment@

如上面所示,为第三种启动的方式。也就是预先在pom文件中进行所有的配置文件的配置,并将配置文件中环境的指定映射为pom文件中所存储的变量。而在项目的打包阶段,则需要进行profile参数的指定:

mvn package -P dev

按照这种方式,打包的内部所包含的也就是我们的目标配置文件。当该jar包被启动时,自然也就会自行采用目标配置文件进行数据的读取,达到配置文件区分的效果。

后记

  • 千古兴亡多少事?悠悠。不尽长江滚滚流。