SpringBoot指定激活配置文件的方法

 更新时间:2023年11月16日 09:43:04   作者:旷野历程  
Spring Boot 对多环境整合已经有了很好的支持,能够在运行间、打包时自由切换环境,这篇文章主要介绍了SpringBoot指定激活配置文件,需要的朋友可以参考下

在日常开发中至少有三个环境,分别是开发环境(dev),测试环境(test),生产环境(prod)。不同的环境配置都不尽相同,如请求地址、用户名、密码等。

Spring Boot 对多环境整合已经有了很好的支持,能够在运行间、打包时自由切换环境。

创建配置文件

分别创建以下文件

  • application.yml
  • application-dev.yml
  • application-test.yml
  • application-prod.yml

application.yml 文件上默认的配置文件。

指定运行的环境

虽然创建了各个环境的配置文件,但是 Spring Boot 仍然不知道你要运行哪个环境,有以下两种方式指定:

配置文件中指定

在 application.yml 文件中指定,内容如下:

# 指定运行环境为测试环境
spring.profiles.active=test

如果没有指定运行的环境,Spring Boot 会默认加载 application.yml 文件,再去找 test 环境的配置文件。

运行 jar 的时候指定

Spring Boot 内置的环境切换能够在运行Jar包的时候指定环境,命令如下:

java -jar xxx.jar -Dspring.profiles.active=test

Maven 多环境配置

Maven 对于多环境的支持在功能方面更加强大,支持JDK版本、资源文件、操作系统等等因素来选择环境。

pom 文件中定义 profiles 配置:

<!-- 多环境配置方案 -->
<profiles>
    <profile>
        <!-- 不同环境的唯一ID -->
        <id>local</id>
        <activation>
            <!-- 默认激活环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
        <!-- 环境变量 -->
        <properties>
            <spring.profiles.active>local</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <spring.profiles.active>dev</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <spring.profiles.active>test</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <spring.profiles.active>prod</spring.profiles.active>
        </properties>
    </profile>
</profiles>

在使用 mvn 打包时,需要使用 -P 指定环境,如下:

mvn clean package -P test

到此这篇关于SpringBoot指定激活配置文件的文章就介绍到这了,更多相关SpringBoot指定配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java随机字符补充版

    java随机字符补充版

    今天在zuidaimai看到一个java随机字符生成demo,正好要用,但发现不完整,重新整理一下,分享给有需要的朋友
    2014-01-01
  • 浅析SpringBoot微服务中异步调用数据提交数据库的问题

    浅析SpringBoot微服务中异步调用数据提交数据库的问题

    这篇文章主要介绍了SpringBoot微服务中异步调用数据提交数据库的问题,今天本文涉及到的知识点不难,都是很简单的crud操作,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 值得收藏的2017年Java开发岗位面试题

    值得收藏的2017年Java开发岗位面试题

    这篇文章主要为大家推荐一份值得收藏的2017年Java开发岗位面试题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Java将Word文件转为OFD文件

    Java将Word文件转为OFD文件

    大家好,本篇文章主要讲的是Java将Word文件转为OFD文件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • spring boot自带图片服务器使用详解

    spring boot自带图片服务器使用详解

    这篇文章主要为大家详细介绍了spring boot自带图片服务器的使用 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 深入解读MVC模式和三层架构

    深入解读MVC模式和三层架构

    这篇文章主要介绍了深入解读MVC模式和三层架构,三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)的三层架构,各层之间采用接口相互访问,需要的朋友可以参考下
    2023-04-04
  • Java 为什么要避免使用finalizer和Cleaner

    Java 为什么要避免使用finalizer和Cleaner

    这篇文章主要介绍了Java 为什么要避免使用finalizer和Cleaner,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • rabbitmq的消息持久化处理开启,再关闭后,消费者启动报错问题

    rabbitmq的消息持久化处理开启,再关闭后,消费者启动报错问题

    这篇文章主要介绍了rabbitmq的消息持久化处理开启,再关闭后,消费者启动报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java中ClassNotFoundException的类加载问题排查与修复方法

    Java中ClassNotFoundException的类加载问题排查与修复方法

    在Java开发中,java.lang.ClassNotFoundException是常见的运行时异常,通常表示JVM在尝试加载某个类时未能找到其定义,本文结合实战经验,系统性分析ClassNotFoundException的排查与修复方法,并提供丰富的代码示例和表格分析,需要的朋友可以参考下
    2025-06-06
  • spring MVC cors跨域实现源码解析

    spring MVC cors跨域实现源码解析

    本文主要介绍了spring MVC cors跨域实现源码解析。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02

最新评论