springBoot 启动指定配置文件环境多种方案(最新推荐)

 更新时间:2023年09月15日 15:17:24   作者:nandao158  
springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,需要的朋友可以参考下

springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,以供参考:

1、pom文件配置方案

   <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
           <!--配置默认的配置文件,idea开发右侧的maven-install中,profiles默认选中dev-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
           <!-- <activation>
                <activeByDefault>true</activeByDefault>
            </activation>-->
        </profile>
        <profile>
            <!-- 生产环境 -->
            <id>pro</id>
            <properties>
                <profiles.active>pro</profiles.active>
            </properties>
          <!--  <activation>
                <activeByDefault>true</activeByDefault>
            </activation>-->
        </profile>
    </profiles>

对应的配置文件举例:

application-dev.yml
application-test.yml
application-pro.yml

也可以是目录配置方式

 此处配置三种环境,用哪个环境就把那里设置为true,然后clean、install 打包后设置好了。

另外此时在配置文件添加另外一个配置也行,指定到pom文件:

#环境配置开发时使用
spring.profiles.active=@profiles.active@

 2、maven命令行打包指定

mvn clean package -Pdev
mvn clean package -Ptest
mvn clean package -Ppro
 

打包指定相应的配置文件。 

3、配置文件指定

一般 application.properties 文件中指定环境

spring.profiles.active=test

指定下面的几个文件

 4、启动jar包时指定

nohup java -jar demo-server.jar --spring.profiles.active = test > log.file 2>&1 &

直接启动指定test环境 

5、虚拟机指定:

 -Dspring.profiles.active=dev

6、使用时注意一下几点,配置文件加载顺序:

1)、同级情况下,application.properties文件优先级大于application.yml,前者会覆盖后者;

2)、springboot的默认加载路径有5个,分别是classpath:/、classpath:/config/、项目根路径、项目根路径/config/*/、项目根路径/config/,会从这5个路径下加载application.properties或application.yml;

3)、5个默认的加载路径的优先级为:项目根路径下的config > 项目根路径下的config/*/ > 项目根路径 > classpath:/config > classpath:/,前者会覆盖后者

7、综上6所述:优先级如下

1):根目录/config/application.properties
2):根目录/config/application.yml
3):根目录/application.properties
4):根目录/application.yml
5):classpath目录/config/application.properties
6):classpath目录/config/application.yml
7):classpath目录/application.properties
8):classpath目录/application.yml

到此,springXXX框架指定配置文件及加载的优先级问题分享完毕,大家详细测试一下,定会惊喜多多。

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

相关文章

  • 手写java性能测试框架的实现示例

    手写java性能测试框架的实现示例

    这篇文章主要为大家介绍了java实现性能测试框架示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • SpringCloud对服务内某个client进行单独配置的操作步骤

    SpringCloud对服务内某个client进行单独配置的操作步骤

    我们的微服务项目用的是springCloud,某个微服务接口因为数据处理量大,出现了接口超时的情况,我们需要单独修改这一个feignClient的超时时间,所以本文介绍了SpringCloud对服务内某个client进行单独配置的操作步骤,需要的朋友可以参考下
    2023-10-10
  • 基于SpringBoot集成测试远程连接Redis服务的教程详解

    基于SpringBoot集成测试远程连接Redis服务的教程详解

    这篇文章主要介绍了基于SpringBoot集成测试远程连接的Redis服务的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • java用户名密码验证示例代码分享

    java用户名密码验证示例代码分享

    这篇文章主要介绍了java用户名密码验证示例代码,需要的朋友可以参考下
    2014-03-03
  • java 直接调用python脚本,并传递参数代码实例

    java 直接调用python脚本,并传递参数代码实例

    这篇文章主要介绍了java调用python脚本传递参数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java中String的JdbcTemplate连接SQLServer数据库的方法

    Java中String的JdbcTemplate连接SQLServer数据库的方法

    这篇文章主要介绍了Java中String的JdbcTemplate连接SQLServer数据库的方法,在研发过程中我们需要与其他系统对接的场景,连接SQLServer拉取数据,所以就用jdbc连接数据库的方式连接外部数据源,需要的朋友可以参考下
    2021-10-10
  • Java 指定微信好友自动发送消息的实现示例

    Java 指定微信好友自动发送消息的实现示例

    这篇文章主要介绍了Java 指定微信好友自动发送消息的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • MySQL中drop、truncate和delete的区别小结

    MySQL中drop、truncate和delete的区别小结

    在MySQL数据库管理中,常常需要执行删除数据的操作,本文主要介绍了MySQL中drop、truncate和delete的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • java使用xstream实现xml文件和对象之间的相互转换

    java使用xstream实现xml文件和对象之间的相互转换

    xml是一个用途比较广泛的文件类型,在java里也自带解析xml的包,但是本文使用的是xstream来实现xml和对象之间的相互转换,xstream是一个第三方开源框架,使用起来比较方便,对java xml和对象转换相关知识感兴趣的朋友一起看看吧
    2023-09-09
  • logback-spring.xml配置解析(最新整理)

    logback-spring.xml配置解析(最新整理)

    logback-spring.xml用于配置Spring Boot项目日志,定义输出格式、路径、级别,支持动态参数读取(如SpringProperty),实现日志隔离与滚动策略(按天+大小),并通过logger继承机制控制日志输出目的地,对logback-spring.xml配置相关知识感兴趣的朋友一起看看吧
    2025-07-07

最新评论