SpringBoot-application.yml多环境配置详解

 更新时间:2022年07月24日 10:27:04   作者:胡安民  
本文主要介绍了SpringBoot-application.yml多环境配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

介绍

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

为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,如下图所示:

默认配置文件application.yml文件可根据自己需求使用,最后会合并其他的application-xx.yml配置文件,当前环境配置文件内容优先,application.yml优先级最低,相同内容使用优先级最高的,不同内容合并

maven

    <dependencies>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <delimiters>@</delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <!--开启过滤,用指定的参数替换directory下的文件中的参数-->
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
    <!-- 多环境配置方案 -->
    <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <!-- 默认开启这个配置 -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profileActive>test</profileActive>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profileActive>prod</profileActive>
            </properties>
        </profile>
    </profiles>

之后刷新Maven就会出现各种环境的选项了,默认是dev环境,打包的时候选择对应的环境打包就行了

yml配置

在application.yml,application-dev.yml, application-prod.yml,application-test.yml 里都加上下面的配置

spring:
  profiles:
    active:  @profileActive@ # dev开发环境

启动的时候就会自动获取Maven里勾选的配置了

到此这篇关于SpringBoot-application.yml多环境配置详解的文章就介绍到这了,更多相关SpringBoot application.yml多环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入浅出Java中的字节流和字符流详解

    深入浅出Java中的字节流和字符流详解

    Java 中的输入输出(I/O)流主要分为字节流和字符流,这两类流为开发者提供了高效的文件读写方式,也解决了不同编码格式下的字符处理问题,本文将带你深入了解字节流和字符流的区别、应用场景以及如何使用它们处理文件操作
    2024-12-12
  • java图形化界面实现简单混合运算计算器的示例代码

    java图形化界面实现简单混合运算计算器的示例代码

    这篇文章主要介绍了java图形化界面实现简单混合运算计算器的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • SpringBoot集成EasyExcel的应用场景分析

    SpringBoot集成EasyExcel的应用场景分析

    这篇文章主要介绍了SpringBoot集成EasyExcel的应用场景,java领域解析、生成excel比较有名的框架有apache poi、jxl等,今天通过实例代码给大家详细介绍,需要的朋友可以参考下
    2021-07-07
  • Spring中@DependsOn注解的作用及实现原理解析

    Spring中@DependsOn注解的作用及实现原理解析

    这篇文章主要介绍了Spring中@DependsOn注解的作用及实现原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Spring Cloud Stream分区分组原理图解

    Spring Cloud Stream分区分组原理图解

    这篇文章主要介绍了Spring Cloud Stream的分区和分组,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • java中实体类转Json的2种方法

    java中实体类转Json的2种方法

    本篇文章中主要介绍了java中实体类转Json的2种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。
    2017-01-01
  • Java Math.round(),Math.ceil(),Math.floor()的区别详解

    Java Math.round(),Math.ceil(),Math.floor()的区别详解

    这篇文章主要介绍了Java Math.round(),Math.ceil(),Math.floor()的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java代码实现四种限流算法详细介绍

    Java代码实现四种限流算法详细介绍

    本文主要介绍了Java代码实现四种限流算法详细介绍,包含固定窗口限流,滑动窗口限流,漏桶限流,令牌桶限流,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Java自动化设置接收或拒绝Excel文件修订

    Java自动化设置接收或拒绝Excel文件修订

    本文将深入探讨如何利用 Java 编程的强大能力,结合 Spire.XLS for Java 库,自动化地设置接收或拒绝 Excel 文件中的所有修订,文中的示例代码简洁易懂,希望对大家有所帮助
    2026-01-01
  • SpringBoot2使用Jetty容器操作(替换默认Tomcat)

    SpringBoot2使用Jetty容器操作(替换默认Tomcat)

    这篇文章主要介绍了SpringBoot2使用Jetty容器操作(替换默认Tomcat),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10

最新评论