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指定配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot 文件上传和下载的实现源码

    SpringBoot 文件上传和下载的实现源码

    这篇文章主要介绍了SpringBoot 文件上传和下载的实现源码,代码简单易懂非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • Java实体类中Set按照对象的某个字段对set排序

    Java实体类中Set按照对象的某个字段对set排序

    这篇文章主要介绍了Java实体类中Set按照对象的某个字段对set排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • Java下界通配符(? super Type)的使用

    Java下界通配符(? super Type)的使用

    在Java中,? super Type是一个下界通配符,本文主要介绍了Java下界通配符(? super Type)的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • java获取request中的参数以及java解析URL问号后的参数

    java获取request中的参数以及java解析URL问号后的参数

    这篇文章主要介绍了java获取request中的参数以及java解析URL问号后的参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Spring IOC 三种配置方式详解

    Spring IOC 三种配置方式详解

    这篇文章主要介绍了Spring IOC 三种配置方式,基于xml配置方式组件管理,基于注解方式管理和配置类方式管理,这三种方式,通过图文讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • Java遍历字符串和统计字符个数的操作方法

    Java遍历字符串和统计字符个数的操作方法

    这篇文章主要介绍了Java遍历字符串和统计字符个数的操作方法,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • 教你几个 Java 编程中使用技巧

    教你几个 Java 编程中使用技巧

    枯燥的编程中总得有些乐趣,今天我们不谈论那些高深的技能,教你几个在编程中的奇技淫巧,说不定在某些时候还能炫耀一番呢,今天小编教你几个 Java 编程中使用技巧,感兴趣的朋友参考下吧
    2022-12-12
  • minio的下载和springboot整合minio使用方法

    minio的下载和springboot整合minio使用方法

    本文介绍了如何通过Docker拉取MinIO镜像,并创建MinIO容器的过程,首先,需要在本地创建/data和/conf两个目录用于挂载MinIO的数据和配置文件,接下来,通过docker run命令启动容器,设置MinIO的访问端口、用户名、密码等信息,感兴趣的朋友一起看看吧
    2024-09-09
  • 深入浅出解析Java ThreadLocal原理

    深入浅出解析Java ThreadLocal原理

    ThreadLocal是JDK包提供的,它提供线程本地变量,如果创建一乐ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程安全问题,感兴趣的朋友快来看看吧
    2021-11-11
  • SpringBoot之groups应对不同的Validation规则自定义方式

    SpringBoot之groups应对不同的Validation规则自定义方式

    这篇文章主要介绍了SpringBoot之groups应对不同的Validation规则自定义方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论