IDEA下SpringBoot指定配置文件启动项目的全过程

 更新时间:2023年06月09日 11:23:31   作者:月半花开  
我们在使用springboot项目开发的时候,每次切换环境跑项目的时候,都得修改配置文件的数据库地址,这样来回修改感觉很麻烦,这篇文章主要给大家介绍了关于IDEA下SpringBoot指定配置文件启动项目的相关资料,需要的朋友可以参考下

一. idea下的SpringBoot启动:指定配置文件

Springboot项目有如下配置文件

主配置文件application.yml,

测试环境:application-test.yml

生产环境:application-pro.yml

开发环境:application-dev.yml

在开发过程中,通常在主配置文件里指定实际使用的配置文件

spring:
    profiles:
        active: dev

二. 项目已打包,运行配置

需要确保项目已经打成jar包: springboot-demo.jar

1).使用java -jar启动基于(一)下的配置文件启动

java -jar springboot-demo.jar

2)指定项目内其它配置文件application-pro.yml启动项目

java -jar springboot-demo.jar --spring.profiles.active=test

另一种启动命令(上一种启命令失效时, 用以下这种, 或就以这种)

java -jar -Dspring.profiles.active=test springboot-demo.jar

3) Linux服务器上启动基于(三)的springboot项目

jar运行方式

java -jar xx.jar --spring.profiles.active=dev

示例

java -jar -Dspring.profiles.active=test springboot-demo.jar

不显示日志打印的启动

nohup java -jar -Dspring.profiles.active=test springboot-demo.jar &

三、开发过程中idea指定某种环境下的配置文件启动项目

方法1:多个配置文件,启动项目的时候,需要修改右上角的配置信息,按下图操作

选择 Configuration —》Environment —》Program arguments(main方法启动方式:优先级高于在配置文件里面的激活的)

// 在IDE Arguments里面添加
--spring.profiles.active=dev

 添加配置

配置启动参数 

--spring.profiles.active=test

 在启动日志里看到下图所示的日志,便代表指定配置文件启动成功。

方法2:除了在配置文件和命令行中指定Profile,还可以在启动类中写死指定,通过SpringApplication.setAdditionalProfiles方法

public void setAdditionalProfiles(String... profiles) {
    this.additionalProfiles = new LinkedHashSet<String>(Arrays.asList(profiles));
}

方法3:选择 Configuration ——》Environment ——》VM options(JVM启动方式),输入如下代码:

-Dspring.profiles.active=dev

总结

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

相关文章

  • mybatis-plus使用@Delete注解批量删除实现方式

    mybatis-plus使用@Delete注解批量删除实现方式

    文章介绍了如何使用@Delete注解进行批量删除操作,包括控制器调用、接口实现和效果图展示,作者分享了个人经验,并鼓励大家参考和点赞支持
    2026-02-02
  • += 和 ++ 操作符区别简单介绍

    += 和 ++ 操作符区别简单介绍

    这篇文章主要介绍了+= 和 ++ 操作符区别简单介绍的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • MyBatisPlus条件构造器图文实例详解

    MyBatisPlus条件构造器图文实例详解

    这篇文章主要介绍了MyBatisPlus条件构造器,了解内部原理是为了帮助我们做扩展,同时也是验证了一个人的学习能力,如果你想让自己的职业道路更上一层楼,这些底层的东西你是必须要会的
    2023-01-01
  • springboot+nginx+https+linux实现负载均衡加域名访问简单测试

    springboot+nginx+https+linux实现负载均衡加域名访问简单测试

    这篇文章主要介绍了springboot+nginx+https+linux实现负载均衡加域名访问简单测试,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • Java 中校验时间格式的常见方法

    Java 中校验时间格式的常见方法

    在实际项目开发中,跟时间参数打交道是必不可少的,为了保证程序的安全性、健壮性,一般都会对参数进行校验,其他类型的参数校验很好实现,那你知道时间参数的是怎么校验的吗,下面给大家分享Java 中校验时间格式的方法,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Spring Security 基于URL的权限判断源码解析

    Spring Security 基于URL的权限判断源码解析

    这篇文章主要介绍了Spring Security 基于URL的权限判断问题,我们想要实现自己的基于请求Url的授权只需自定义一个 AccessDecisionManager即可,接下来跟随小编一起看看实现代码吧
    2021-12-12
  • 详细聊一聊java语言中的package和import机制

    详细聊一聊java语言中的package和import机制

    这篇文章主要给大家介绍了关于java语言中package和import机制的相关资料,Java中的package是指将相关的类组织在一起的一种机制,它可以用来避免命名冲突,也可以方便地管理和维护代码,需要的朋友可以参考下
    2024-01-01
  • 亲手教你IDEA2020.3创建Javaweb项目的步骤详解

    亲手教你IDEA2020.3创建Javaweb项目的步骤详解

    这篇文章主要介绍了IDEA2020.3创建Javaweb项目的步骤详解,本文是小编手把手教你,通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-03-03
  • 详解使用JRebel插件实现SpringBoot应用代码热加载

    详解使用JRebel插件实现SpringBoot应用代码热加载

    这篇文章主要介绍了详解使用JRebel插件实现SpringBoot应用代码热加载,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java中数组复制的三种方式小结

    Java中数组复制的三种方式小结

    在Java中,数组复制是一种常见的操作,它允许开发人员在不修改原始数组的情况下创建一个新的数组,本文就来介绍三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02

最新评论