springboot项目不同环境的配置读取方式

 更新时间:2024年11月08日 09:05:17   作者:北极熊不在北极  
SpringBoot支持application.properties、application.yml、application.yaml三种配置文件类型,可同时存在并合并配置,配置文件的读取优先级为:application.properties > application.yml > application.yaml,不同位置的相同类型配置文件

一、首先我知道的是

springboot项目可以使用如下3种类型配置文件,并且可以同时存在。

springboot读取到的不同配置内容会进行合并,如果有配置了相同的配置项,则以如下优先顺序进行生效:

application.properties > application.yml > application.yaml

二、相同类型配置文件

放在不同位置,生效优先顺序如下:

  • 1级: springboot-demo.jar同级目录: config/application.yml[最高)
  • 2级: springboot-demo.jar同级目录 : application.yml
  • 3级: classpath: config/application.yml
  • 4级: classpath: application.yml

三、在一个配置文件中

也可以配置如下不同的环境配置

#设置启用的环境
spring:
  profiles:
    active: dev

---
spring:
  profiles: dev
server:
  port: 81


---
spring:
  profiles: test
server:
  port: 82


---
spring:
  profiles: pro
server:
  port: 83

四、在application.yml文件中可以读取到pom文件中的配置

可用于配置当前环境

#设置启用的环境
spring:
  profiles:
    active: ${profile.active}

---
spring:
  profiles: dev
server:
  port: 81


---
spring:
  profiles: test
server:
  port: 82


---
spring:
  profiles: pro
server:
  port: 83

pom文件中的配置如下:

            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>utf-8</encoding>
                    <useDefaultDelimiters>true</useDefaultDelimiters>
                </configuration>
            </plugin>
<profiles>
        <!--dev环境-->
        <profile>
            <id>dev</id>
            <properties>
                <profile.active>dev</profile.active>
            </properties>
        </profile>

        <!--test环境-->
        <profile>
            <id>test</id>
            <properties>
                <profile.active>test</profile.active>
            </properties>

        </profile>

        <!--pro环境-->
        <profile>
            <id>pro</id>
            <properties>
                <profile.active>pro</profile.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mybatis中${}和#{}取值的区别分析

    mybatis中${}和#{}取值的区别分析

    mybatis中使用sqlMap进行sql查询时,经常需要动态传递参数,在动态SQL解析阶段, #{ } 和 ${ } 会有不同的表现,这篇文章主要给大家介绍了关于mybatis中${}和#{}取值区别的相关资料,需要的朋友可以参考下
    2021-09-09
  • JVM调优OutOfMemoryError异常分析

    JVM调优OutOfMemoryError异常分析

    这篇文章主要为大家介绍了JVM调优OutOfMemoryError异常分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 如何使用JDBC实现工具类抽取

    如何使用JDBC实现工具类抽取

    这篇文章主要介绍了如何使用JDBC实现工具类抽取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java StringBuffer与StringBuilder有什么区别

    Java StringBuffer与StringBuilder有什么区别

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder类,和String类不同的是,StringBuffer和 StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象,本篇我们来分析分析它们的区别
    2023-01-01
  • jackson设置返回null为空字符串的操作

    jackson设置返回null为空字符串的操作

    这篇文章主要介绍了jackson设置返回null为空字符串的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • SpringBoot中配置文件pom.xml的使用详解

    SpringBoot中配置文件pom.xml的使用详解

    SpringBoot的pom.xml文件是Maven项目的核心配置文件,用于定义项目的依赖、插件、构建配置等信息,下面小编就来和大家详细介绍一下它的具体使用吧
    2025-03-03
  • java.lang.UnsupportedOperationException分析及解决办法

    java.lang.UnsupportedOperationException分析及解决办法

    日常开发中我遇到java.lang.UnsupportedOperationException:异常两次了,下面这篇文章主要给对大家介绍了关于java.lang.UnsupportedOperationException分析及解决办法,需要的朋友可以参考下
    2024-03-03
  • Java NIO Channel 使用详情

    Java NIO Channel 使用详情

    这篇文章主要介绍了Java NIO Channel 使用详情,文章围绕主题展开详细内容需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-04-04
  • IDEA调试小技巧之Evaluate调试工具详解

    IDEA调试小技巧之Evaluate调试工具详解

    这篇文章主要介绍了IDEA调试小技巧之Evaluate调试工具,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 精致小巧的java相册制作方法

    精致小巧的java相册制作方法

    这篇文章主要为大家详细介绍了精致小巧的java相册制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论